aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
AgeCommit message (Collapse)Author
2018-11-20Merge branch 'john/erts/spectre-configure-flag/OTP-15430/ERIERL-237' into ↵John Högberg
john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237 * john/erts/spectre-configure-flag/OTP-15430/ERIERL-237: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2018-11-20Add a ./configure flag for spectre mitigationJohn Högberg
Note that the ERTS_NO_RETPOLINE macro introduced by this commit is completely inert unless spectre-mitigation is set to 'incomplete.' This includes when mitigation has been manually enabled through CFLAGS, so it should be impossible for it to unintentionally disable mitigation.
2017-12-18Do not add -lz to LIBS; keep it in Z_LIBRickard Green
2017-09-05Merge branch 'rickard/statistics-time-fixes/OTP-14597/ERL-465' into maintRickard Green
* rickard/statistics-time-fixes/OTP-14597/ERL-465: Bug fixes of statistics(wall_clock) and statistics(runtime) Conflicts: erts/emulator/beam/erl_time_sup.c
2017-09-04Bug fixes of statistics(wall_clock) and statistics(runtime)Rickard Green
2017-07-04macOS: Fix problems loading cryptoBjörn Gustavsson
On macOS, it was not possible to start crypto after running observer. (ERL_251) On the beta of macOS 10.13 (High Sierra), crypto does not work at all. (ERL-439) The problem is that the use of the -flat_namespace option when linking dynamic drivers such as the one for crypto. With that option, all function names must be unique among all linked libraries and frameworks, or the wrong function could be called. Resolve the problem by using the two-level namespace as recommended by Apple. We need to use the -bundle_loader option to point out beam.smp when building all drivers and NIF libraries. https://bugs.erlang.org/browse/ERL-251 https://bugs.erlang.org/browse/ERL-439
2017-05-16Let --enable-lock-counter build an additional emulatorBjörn Gustavsson
"./configure --enable-lock-counter" would modify the behavior of the default emulator (usually SMP). To make lock counting more accessible, change --enable-lock-counter to build an additional emulator in the same way as: (cd erts/emulator && make lcnt) (The next commit will make it easier to start the built lock-counter emulator.)
2017-05-04Update copyright yearRaimo Niskanen
2017-04-21erts: Deprecate the non-smp emulatorsLukas Larsson
2017-04-12Merge branch 'ingela/openssl-version'Ingela Anderton Andin
* ingela/openssl-version: crypto: Update documentation to reflect new version policy erts: Update configure check for OpenSSL
2017-04-11Merge PR-1397 from margnus1/hipe-m32-build OTP-14330Sverker Eriksson
Allow HiPE-enabled VMs to be built with --enable-m32-build
2017-04-07erts: Update configure check for OpenSSLIngela Anderton Andin
We have never officially supported OpenSSL-0.9.7* Update to OpenSSL-0.9.8c or later, but OpenSSL-1.0.2 or later is recommended
2017-03-30Don't imply --disable-hipe in --enable-m32-buildMagnus Lång
HiPE compiles and runs perfectly well with --enable-m32-build on linux. If there are some darwin-specific issues with --enable-m32-build and --enable-hipe, a more specific test for these conditions should be added.
2017-03-30Complete the list of ./configure ARCH adjustmentsMagnus Lång
Also remove i386 clause, as ARCH can never have that value.
2017-03-29Partially revert commit 37d63e9b8a0a96125ada858205286a58a5bed1aeKostis Sagonas
The above commit erroneously declared 'ppc64le' as a 'ppc64' for HiPE enabling. These two architectures are different and one can NOT expect that native code generated for one architecture runs on the other one. Rather than reverting this commit, make sure that the architecture is declared correctly instead of pretending it's a PPC64.
2017-03-16Improve no-pie solution from bug report ERL-294Karol Ostrovsky
Some linkers, for example on Gentoo Hardened, do not accept the -no-pie flag but require the -fno-PIE flag instead.
2017-02-06Implement magic referencesRickard Green
Magic references are *intentionally* indistinguishable from ordinary references for the Erlang software. Magic references do not change the language, and are intended as a pure runtime internal optimization. An ordinary reference is typically used as a key in some table. A magic reference has a direct pointer to a reference counted magic binary. This makes it possible to implement various things without having to do lookups in a table, but instead access the data directly. Besides very fast lookups this can also improve scalability by removing a potentially contended table. A couple of examples of planned future usage of magic references are ETS table identifiers, and BIF timer identifiers. Besides future optimizations using magic references it should also be possible to replace the exposed magic binary cludge with magic references. That is, magic binaries that are exposed as empty binaries to the Erlang software.
2017-01-12Support for dirty BIFsRickard Green
2016-12-02configure.in: Fix configure test for usable OpenSSLBjörn Gustavsson
In OpenSSL 1.1.0, HMAC_CTX no longer has a complete definition, and can no longer be allocated as a stack variable. Therefore, the code in the configure test for usable OpenSSL library will not compile. Call the HMAC() function instead since it exists in all versions of of OpenSSL that we support. Note that the code will only be compiled and linked, not run, so the argument values don't matter as long as they have the correct type.
2016-12-02configure.in: Fix test for SSL with KerberosBjörn Gustavsson
OpenSSL 1.1.0 and higher does not support Kerberos and no longer defines OPENSSL_NO_KRB5 to indicate that. Test the version number as well as OPENSSL_NO_KRB5.
2016-11-22Merge branch 'sverker/Wundef'Sverker Eriksson
2016-11-14erts: Add gcc compile error -Werror=undefSverker Eriksson
to get errors for "#if UNDEFINED_MACRO"
2016-11-11Merge branch 'maint'Sverker Eriksson
2016-11-11Merge branch 'sverker/hipe-no-pie-amd64/ERL-294/PR-1239/OTP-14031' into maintSverker Eriksson
* sverker/hipe-no-pie-amd64: erts: Disable -fPIE for HiPE on x86_64 erts: Fix correct link flags for hipe_mkliterals
2016-11-11erts: Disable -fPIE for HiPE on x86_64Sverker Eriksson
2016-10-21erts: Use mprotect for hipe on all arch except x86_64Sverker Eriksson
Only x86_64 needs to reserve low virtual memory for its amd64 small code model.
2016-10-20erts: Refactor hipe config testSverker Eriksson
Just merge the two if's
2016-10-19Merge branch 'maint'Raimo Niskanen
2016-10-17Configure enable libsctp dependencyRaimo Niskanen
2016-10-14Merge branch 'master' into sverker/hipe-code-loadnpurgeSverker Eriksson
Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_load.c and added macro DBG_TRACE_MFA_P in beam_load.h
2016-10-14erts: Enable exec_alloc for all hipe architecturesSverker Eriksson
For non-amd64 it's a "normal" allocator with a wrapper around mseg_alloc to call mprotect(PROT_EXEC).
2016-10-13Revert "Check libsctp for sctp funcs in configure.in"Raimo Niskanen
This reverts commit 52fae83743a6e84d719f4f82fe45e6e0efdbd6f0: Check libsctp for sctp funcs in configure.in Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp. Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists. Reverting to the old behaviour of not checking for libsctp before checking for sctp functions. Then it works on Linux by loading libsctp and looking up the symbols i runtime, and it works on FreeBSD since there is no separate libsctp to link against - the functions are part of the default system libraries.
2016-10-11Merge branch 'legoscia/ssl_in_fips_mode/PR-1180/OTP-13921'Hans Nilsson
Conflicts: lib/crypto/c_src/crypto.c lib/ssl/src/ssl_cipher.erl
2016-09-29Merge branch 'maint'Rickard Green
* maint: Try to handle not yet available functionality in MacOSX SDK Check deployment target in configure on MacOSX Fix posix_memalign configure test
2016-09-29Merge branch 'rickard/macosx-config-mess/OTP-13904' into maintRickard Green
* rickard/macosx-config-mess/OTP-13904: Try to handle not yet available functionality in MacOSX SDK Check deployment target in configure on MacOSX Fix posix_memalign configure test
2016-09-28Rename SSL_DEFINE to SSL_FLAGSMagnus Henoch
For consistency with other applications.
2016-09-28Support using OpenSSL in FIPS modeDániel Szoboszlay
FIPS mode support needs to be enabled at compile time, by configuring Erlang/OTP with --enable-fips option. In FIPS mode the non-FIPS algorithms are disabled and raise error notsup. The supported protocols list is properly updated in FIPS mode to advertise only the enabled protocols. FIPS mode is off by default even if Erlang/OTP was built with FIPS support. It needs to be turned on at runtime. The official approach is to set the fips_mode application environment parameter of the crypto application to true. This would turn FIPS mode on when the NIF is loaded and would prevent loading the module on error. Another method is provided via the crypto:enable_fips_mode/1 function, but it is not recommended to be used in production, as it won't prevent the use of the crypto module in case of an error, and would risk OpenSSL crashing the emulator. It is very useful for test suites however that need to check both validated and non-validated functionality. This commit is based on commit 00b3a04d17a653b4abddeebd6dd8a2c38df532d0.
2016-09-28Try to handle not yet available functionality in MacOSX SDKRickard Green
2016-09-28Merge branch 'maint'Björn-Egil Dahlberg
2016-09-25Fix typo in configuration descriptionLuca Favatella
2016-09-23Fix posix_memalign configure testRickard Green
2016-09-01Enable dirty scheduler support as defaultRickard Green
2016-08-31Remove old purge strategyRickard Green
2016-08-29Merge branch 'maint'Rickard Green
* maint: Fix tracing of processes executing dirty Perform check_process_code while process is executing dirty Fix purge of code Reclaim literal area after purge has completed Separate literal area from code Conflicts: erts/emulator/beam/global.h
2016-08-29Merge branch 'rickard/fun-purge-bug/OTP-13809' and ↵Rickard Green
'rickard/new-purge-strategy/OTP-13833' into maint * rickard/fun-purge-bug/OTP-13809: Fix purge of code Reclaim literal area after purge has completed Separate literal area from code Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_init.c erts/preloaded/ebin/init.beam
2016-08-26Merge branch 'g-andrade/kernel/fetch_ztream_dictionary/PR-1139/OTP-13842'Lukas Larsson
* g-andrade/kernel/fetch_ztream_dictionary/PR-1139/OTP-13842: Update preloaded modules Specify min zlib ver on inflateGetDictionary doc Skip inflateGetDictionary test case if unsupported zlib: Only link inflateGetDictionary if available zlib: Add test case for inflateGetDictionary zlib: support extraction of inflation dictionary
2016-08-26Reclaim literal area after purge has completedRickard Green
2016-08-22zlib: Only link inflateGetDictionary if availableGuilherme Andrade
Which at the moment means zlib versions >= 1.2.8.
2016-08-12Merge branch 'binarin/even-more-absolute-paths/PR-1103/OTP-13800' into maintLukas Larsson
* binarin/even-more-absolute-paths/PR-1103/OTP-13800: Use perl discovered by configure Don't make assumptions about build tools paths
2016-06-30Check libsctp for sctp funcs in configure.injonasf
Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp. Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists.