aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
AgeCommit message (Collapse)Author
2018-01-29make HiPE work on x86_64 when PIE is enabledbhuztez
Currently HiPE amd64 assumes the runtime system code is loaded into the low 2G of the address space. However, this is not the case when PIE is enabled, it is loaded into a random location. So trampolines are required to call BIFs, and also we have first to load the address of sse2_fnegate_mask to a regisiter before xorpd in fchs.
2018-01-11Merge branch 'maint'Rickard Green
* maint: Do not add -lz to LIBS; keep it in Z_LIB
2017-12-18Do not add -lz to LIBS; keep it in Z_LIBRickard Green
2017-10-30Merge branch 'lukas/erts/pgo/OTP-14604'Lukas Larsson
* lukas/erts/pgo/OTP-14604: erts: Only do PGO if gcc supports -fprofile-correction
2017-10-25erts: Only do PGO if gcc supports -fprofile-correctionLukas Larsson
2017-10-05Use 32-bits pointers to C codeBjörn Gustavsson
On a 64-bit machine, we only need 32 bits to store a pointer to the C code that implements a BEAM instruction. Refactor the code to only use the lower 32 bits of each instruction word, and take care to preserve the high 32 bits.
2017-10-05Move LD flags for hipe from Makefile.in to configure.inBjörn Gustavsson
We want the flags to be available for other tests in configure.in.
2017-10-02erts: disable kernel-poll on OS X vsn < 16Lukas Larsson
kqueue is broken on earlier versions of OS X.
2017-10-02erts: Move all I/O polling to a seperate threadLukas Larsson
2017-09-11erts: Remove possibility to disable dirty schedulersLukas Larsson
2017-09-11Merge branch 'lukas/erts/pgo/OTP-14604'Lukas Larsson
* lukas/erts/pgo/OTP-14604: Add support for building a pgo beam_emu
2017-09-08Add support for building a pgo beam_emuLukas Larsson
2017-09-05Merge branch 'maint'Rickard Green
* maint: Bug fixes of statistics(wall_clock) and statistics(runtime) Conflicts: erts/emulator/beam/erl_time_sup.c
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-08-11Break out most instructions from beam_emu.cBjörn Gustavsson
2017-07-17erts: Cleanup configure and makefiles after non-smp removalLukas Larsson
2017-07-17erts: Cleanup removal of non-smp emulatorsLukas Larsson
2017-07-06Merge branch 'maint'Björn Gustavsson
* maint: macOS: Fix problems loading crypto
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-06-23Support e2k architectureBoris Bochkarev
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