1. 01 Dec, 2021 1 commit
  2. 30 Nov, 2021 9 commits
    • Samuel Miller's avatar
      Migrate get509() callsite to OpenSSLTransportCert · ec528801
      Samuel Miller authored
      Summary:
      Before removing `getX509()` from `AsyncTransportCertificate` we need to migrate
      all the callsites to `OpenSSLTransportCertificate`.
      
      Differential Revision: D30487611
      
      fbshipit-source-id: 50deea4904b7b6a6c08c6d4fd0c635a4bc8774cb
      ec528801
    • Shai Szulanski's avatar
      Add method pointer overloads of CoInvoke gmock helpers · b0d73b7b
      Shai Szulanski authored
      Summary: Match overloads of upstream Invoke action to ease migration
      
      Reviewed By: ispeters
      
      Differential Revision: D32706320
      
      fbshipit-source-id: d9564f63e534e3651433806fcf4f1fff7730fcc5
      b0d73b7b
    • Yan Soares Couto's avatar
      Delete Mononoke getdeps builds · 9d7c9e70
      Yan Soares Couto authored
      Summary: Mononoke has decided to no longer support getdeps builds. This diff deletes all mentions to those I could find.
      
      Reviewed By: StanislavGlebik
      
      Differential Revision: D32469441
      
      fbshipit-source-id: a11b3f1d5c57ef20792deb0e7f164e655f62648c
      9d7c9e70
    • Dmytro Stechenko's avatar
      Add subset to superset badge lifting · 9a519751
      Dmytro Stechenko authored
      Summary:
      Conversion for cases when we have a `folly::any_badge<A, B>` and want to call some function that accepts `folly::any_badge<A, B, C>`.
      ```
      void call_superset(folly::any_badge<A, B, C>);
      void call_subset(folly::any_badge<A, B> badges) { call_superset(badges); }
      
      // somewhere in A class
      call_subset(folly::badge<A>{});
      
      // somewhere in B class
      call_subset(folly::badge<B>{});
      ```
      
      Also establish bidirectional conversions between `folly::badge<A>` and `folly::any_badge<A>`.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D32697212
      
      fbshipit-source-id: 2f55d0b5015e133166fcdd6d9c25a0e396c2a151
      9a519751
    • Alex Hornby's avatar
      fix distro name · 4faac360
      Alex Hornby authored
      Summary: Missed this when switching from spaces to underscores in distro names
      
      Reviewed By: krallin
      
      Differential Revision: D32693527
      
      fbshipit-source-id: 658504d76c96defd3f1a217ada8b05f99c841ede
      4faac360
    • Alex Hornby's avatar
      update openssl · fae3a56c
      Alex Hornby authored
      Summary: Update it
      
      Reviewed By: krallin
      
      Differential Revision: D32641645
      
      fbshipit-source-id: 77ad7a2771804ac9d32dc38982635b45863af4dc
      fae3a56c
    • Yedidya Feldblum's avatar
      fix param name in FOLLY_CREATE_FREE_INVOKER_SUITE · 51391b69
      Yedidya Feldblum authored
      Reviewed By: Gownta
      
      Differential Revision: D32669969
      
      fbshipit-source-id: 4e0cd2cf73ba695720dd41416d0d04a3996385da
      51391b69
    • Yedidya Feldblum's avatar
      more asan wrappers for fibers · 20047d63
      Yedidya Feldblum authored
      Summary: Wrap more of poisoning/unpoisoning and fiber stack switching.
      
      Reviewed By: luciang
      
      Differential Revision: D31635307
      
      fbshipit-source-id: 9a6f9adbefe6fd995cfa864e0498102e237e6351
      20047d63
    • Yedidya Feldblum's avatar
      tweak in-place backport · d9ae16d1
      Yedidya Feldblum authored
      Summary:
      Use inline variables to avoid the function-pointer trick.
      
      Use explicit default constructors per the types in the standard.
      
      Import the names from the standard in C++17.
      
      This allows declaring a function with tags from one namespace and calling the function with tags from the other namespace in C++17.
      
      Reviewed By: vitaut
      
      Differential Revision: D32588945
      
      fbshipit-source-id: 0ece26ebf7f9f6acf9abb8b008327f06f84091f2
      d9ae16d1
  3. 29 Nov, 2021 3 commits
    • Lucian Grijincu's avatar
      __folly_memcpy: allow overlapping buffers of any size and provide drop-in replacement for memmove · e19669d3
      Lucian Grijincu authored
      Summary:
      `__folly_memcpy` already behaved as `memmove` for n <= 256B.
      
      For n > 256B and overlapping buffers `__folly_memcpy` did some work
      - it determined the size is large enough for 128B AVX loads/stores
      - it has already copied the first 128B and the last 128B in YMM registers
      
      but then discarded it and fell back on `memmove`.
      
      Instead of wasting this work, forward copy (dst < src) or backward copy (dst > src).
      - use unaligned loads + aligned stores, but not non-temporal stores
      - for dst < src forward copy in 128 byte batches:
      -- unaligned load the first 32 bytes & last 4 x 32 bytes
      -- forward copy (unaligned load + aligned stores) 4 x 32 bytes at a time
      -- unaligned store the first 32 bytes & last 4 x 32 bytes
      - for dst > src backward copy in 128 byte batches:
      -- unaligned load the first 4 x 32 bytes & last 32 bytes
      -- backward copy (unaligned load + aligned stores) 4 x 32 bytes at a time
      -- unaligned store the first 4 x 32 bytes & last 32 bytes
      
      Reviewed By: yfeldblum
      
      Differential Revision: D31915389
      
      fbshipit-source-id: 2c0197b2bddc102a7fb8f70a6f43e79ac994dc73
      e19669d3
    • Shai Szulanski's avatar
      Make Try's copy/move constructability match inner type · 62fa4e65
      Shai Szulanski authored
      Summary: Before this change Try always reports as copy constructible then fires a static_assert if you try to instantiate that constructor for a non-copy-constructible type, which breaks logic like that inside std::vector::resize.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D32567774
      
      fbshipit-source-id: 4e3e35a1f823ac9ccb5e2d648015fddccb14cfbf
      62fa4e65
    • Yedidya Feldblum's avatar
      cut legacy eventfd shims for glibc 2.5 · 7f49eded
      Yedidya Feldblum authored
      Summary: That is an old glibc. The shims are no longer required.
      
      Reviewed By: Orvid
      
      Differential Revision: D32632173
      
      fbshipit-source-id: d6ce675c6f16b896a950363b411bec66cedca966
      7f49eded
  4. 26 Nov, 2021 4 commits
    • Alex Hornby's avatar
      renable eden_scm build on macOS · d079207f
      Alex Hornby authored
      Summary: renable after python update from previous diff took us to a Big Sur compatible version
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32619730
      
      fbshipit-source-id: 50cefe8a2448b7e12d2f666b4570790bfbbe2cdf
      d079207f
    • Alex Hornby's avatar
      update python to 3.8 · 1148195e
      Alex Hornby authored
      Summary:
      Update to a newer python that builds on macOS Big Sur, make eden_scm depend on it and use it from PATH
      
      python 3.8 requires libffi which is reference via its pkg-config setup,  however python's pkg-config libffi detection is broken (https://bugs.python.org/issue34823) with the documented workaround requiring an environment variable to be passed into its ./configure step, which is why this change also adds a feature to AutoconfBuilder
      
      With the updated python in place I was able to remove disable_env_override_pkgconfig = 1
      disable_env_override_path = 1 from the eden_scm config so that it actually uses the pkg-configs, PATHs and other settings from its dependencies. This should make future python and other dependency upgrades much simpler.
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32231261
      
      fbshipit-source-id: a2b6addbe22f38e3d71618c802d2c6f836fdd86c
      1148195e
    • Yedidya Feldblum's avatar
      FOLLY_CXX17_CONSTEXPR · fc80a3aa
      Yedidya Feldblum authored
      Summary: A macro which expands to `constexpr` under C++17. Can be used with `if` and lambdas in cases where `constexpr` is an optional hint but not necessary for the program to compile.
      
      Reviewed By: Mizuchi
      
      Differential Revision: D32607012
      
      fbshipit-source-id: 56a6d8679ab2add4f88c89642166f1ed4b956089
      fc80a3aa
    • Yedidya Feldblum's avatar
      address warning C4866 in bser · 7c40f03a
      Yedidya Feldblum authored
      Summary:
      Fixes this warning:
      
      ```
      folly\experimental\bser\Load.cpp(109) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]'
      folly\experimental\bser\Load.cpp(131) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]'
      folly\experimental\bser\Load.cpp(136) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]'
      ```
      
      Reviewed By: luciang
      
      Differential Revision: D31320782
      
      fbshipit-source-id: 9e42176436d7ebf22af38b0589ccdc75e020b771
      7c40f03a
  5. 25 Nov, 2021 1 commit
  6. 24 Nov, 2021 8 commits
    • Pranjal Raihan's avatar
      Use FOLLY_DISABLE_SANITIZERS in MicroLock · 071b632b
      Pranjal Raihan authored
      Reviewed By: yfeldblum
      
      Differential Revision: D32364716
      
      fbshipit-source-id: f36356d5818adebe5bbbe219044c81282ab008a6
      071b632b
    • Alex Hornby's avatar
      add -v/--verbose option to see more output · 92c5f79b
      Alex Hornby authored
      Summary: I found this useful to see where manifests resolve to when they are already built
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32644308
      
      fbshipit-source-id: b796cb67f154177fbac1093290d97fe5aab6b20c
      92c5f79b
    • Alex Hornby's avatar
      fix lint · d6273303
      Alex Hornby authored
      Summary: Fix FLAKE8 lint about redefintion of 'getdeps' variable
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32644576
      
      fbshipit-source-id: 9c3b4ef54d2278238c3dc88a4969e34e24976a3d
      d6273303
    • Alex Hornby's avatar
      use system cert config when building own openssl · 569318b2
      Alex Hornby authored
      Summary: This fixes some missing cert errors when running eden_scm tests against our own build of openssl on macOS
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32617808
      
      fbshipit-source-id: efc34341c2c9b578f9c1c92e0678dfb16ef9112e
      569318b2
    • Alex Hornby's avatar
      be more consistent about using system openssl on linux · d2715c95
      Alex Hornby authored
      Summary: System openssl is preferred on Linux
      
      Reviewed By: HarveyHunt
      
      Differential Revision: D32617807
      
      fbshipit-source-id: 30913858b7f4172cea3d819a63d57563b3da64aa
      d2715c95
    • Alex Hornby's avatar
      replace space with underscore in getdeps triple · 573a9547
      Alex Hornby authored
      Summary: I don't think the spaces were breaking anything, but many years on unix means they set my spidey sense tingling when looking at the build logs.
      
      Reviewed By: StanislavGlebik
      
      Differential Revision: D32619583
      
      fbshipit-source-id: 8d5bc35f085faced20457645f1c1430371a3c578
      573a9547
    • Yedidya Feldblum's avatar
      cut outdated use of FOLLY_USE_LIBSTDCPP · f1a936b6
      Yedidya Feldblum authored
      Summary: Just replace it with `__GLIBCXX__`.
      
      Reviewed By: andrewjcg
      
      Differential Revision: D32624136
      
      fbshipit-source-id: fa3ae4b4e7c3b6c05793a25cc99a93a0d0c18c7f
      f1a936b6
    • Yedidya Feldblum's avatar
      FOLLY_INVOKE_MEMBER · 9b876d88
      Yedidya Feldblum authored
      Summary: A lambda-expression parallel to `FOLLY_CREATE_MEMBER_INVOKER_SUITE`.
      
      Reviewed By: Gownta
      
      Differential Revision: D32601861
      
      fbshipit-source-id: 8bb5876d800215346b19c42090a1cc13b6aa9042
      9b876d88
  7. 23 Nov, 2021 5 commits
    • Yedidya Feldblum's avatar
      hybrid_lock, either shared_lock or unique_lock · 3fac996e
      Yedidya Feldblum authored
      Summary: In generic algorithms parameterized by a mutex type, it may be the case that a shared lock is desired if the mutex is a shared mutex and a unique lock is desired otherwise. This allows a wider range of mutex type arguments rather than just permitting shared mutex types. A hybrid lock may be used with read-only access to data; when the mutex type is shared, the lock would be optimized to a shared lock, but when the mutex type is non-shared, the lock would fall back to a unique lock. This may be helpful since writes may dominate reads in some cases and unique locks on non-shared mutex types may be faster than unique locks on shared mutex types.
      
      Reviewed By: Gownta
      
      Differential Revision: D29624498
      
      fbshipit-source-id: 9caaf9c413fd6ce7ea318906362c3c4330f8d343
      3fac996e
    • Alex Hornby's avatar
      bootstrap cmake in parallel · 046dbf3b
      Alex Hornby authored
      Summary: Lets make this faster
      
      Reviewed By: Croohand
      
      Differential Revision: D32614135
      
      fbshipit-source-id: 2285bdb89c2ad982667261800f327f851a6cfcec
      046dbf3b
    • Alex Hornby's avatar
      build openssl in parallel · 91e9e33c
      Alex Hornby authored
      Summary: Make it faster, the build can run in parallel.  Unfortunately install can't but its pretty quick anyway.
      
      Reviewed By: Croohand
      
      Differential Revision: D32608049
      
      fbshipit-source-id: 6c86184993a065e29f95df658f1b50ba563a5b14
      91e9e33c
    • Alex Hornby's avatar
      fix a flake8 lint · 7f3fb8af
      Alex Hornby authored
      Summary: fix a lint, platform variable was declared twice
      
      Reviewed By: Croohand
      
      Differential Revision: D32605614
      
      fbshipit-source-id: 8e43de8689bf30410273355444db9c3d94663d43
      7f3fb8af
    • Yedidya Feldblum's avatar
      detect choice of stdlib · d2c36642
      Yedidya Feldblum authored
      Summary: The stdlibs export ways to detect which are in use. Cut the unnecessary preprocessor names for detecting/overriding.
      
      Differential Revision: D32515501
      
      fbshipit-source-id: 2bc85cda30ebbdfa0163e3fe287aceb8df923303
      d2c36642
  8. 22 Nov, 2021 2 commits
    • Alex Hornby's avatar
      update fb303 repo_url · b6c651ac
      Alex Hornby authored
      Summary: The project as moved out of github facebookincubator org to facebook org
      
      Reviewed By: StanislavGlebik
      
      Differential Revision: D32593002
      
      fbshipit-source-id: 4ea29dc63fa60e9a9a4f169ea65f7fdca6333005
      b6c651ac
    • Alex Hornby's avatar
      default to main branch · 05089c1c
      Alex Hornby authored
      Summary:
      Most referenced repos have moved from master to main as default branch, so flip the default in getdeps.
      
      As well as tidying things up, this means more manifests will be able to use the pinned git commit hash for a dependency that shipit generates (e.g. build/deps/github_hashes/facebook/folly-rev.txt). This is because a "rev = " setting in the manifest is treated as a dynamic override in GitFetcher.__init__ and this diff reduces the number of such overrides.
      
      Reviewed By: StanislavGlebik
      
      Differential Revision: D32567564
      
      fbshipit-source-id: 3f1b734eb1bb0f5dbafb01ceb935a3d51b8dcc9a
      05089c1c
  9. 19 Nov, 2021 2 commits
  10. 18 Nov, 2021 4 commits
    • Jolene Tan's avatar
      Change tryGetExceptionObject template class to Ex · 2c9e8145
      Jolene Tan authored
      Summary: Other template classes, as well as the docstring, use `Ex` to refer to the exception class.
      
      Differential Revision: D32192455
      
      fbshipit-source-id: 664db8beee0850ac3fb8e3cfcd46a28d568cb808
      2c9e8145
    • Mark Santaniello's avatar
      Auto-reserve initializer_list operator= · 9103d8e8
      Mark Santaniello authored
      Summary: Enable auto-reserve for operator=(std::initializer_list).
      
      Reviewed By: yfeldblum, shixiao
      
      Differential Revision: D32233038
      
      fbshipit-source-id: ae16a5508dcae5957ea44404ac55d489a14937af
      9103d8e8
    • Alex Hornby's avatar
      add a libffi manifest · 094faa5f
      Alex Hornby authored
      Summary: libffi is needed for getdeps python 3.8 update
      
      Reviewed By: krallin
      
      Differential Revision: D32459310
      
      fbshipit-source-id: 6515eed088fb6de0091c2348b5732d1b635113e0
      094faa5f
    • Chad Austin's avatar
      download PCRE from sourceforge instead: ftp.pcre.org is dead · cbea6f12
      Chad Austin authored
      Summary:
      ftp.pcre.org is dead. We are currently migrating from PCRE1 to
      PCRE2. In the meantime, download from SourceForge instead like we do
      with Boost.
      
      Reviewed By: akushner, xavierd
      
      Differential Revision: D32520283
      
      fbshipit-source-id: 9fda6930d7d8b677786a43419c4c0dc6289305f1
      cbea6f12
  11. 17 Nov, 2021 1 commit
    • Andrew Gallagher's avatar
      Fix some `-Wundef` warnings for `FOLLY_SANITIZE` · 4ea1b5a3
      Andrew Gallagher authored
      Summary:
      In the vast majority of cases in fbcode, the sanitizer macros are checked with
      `#ifdef`, so do the same in some places to fix `-Wundef`.
      
      Reviewed By: luciang
      
      Differential Revision: D32501662
      
      fbshipit-source-id: 123e22d78476c9db0e328ccb01a734a06a163594
      4ea1b5a3