aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
AgeCommit message (Collapse)Author
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-17Configure enable libsctp dependencyRaimo Niskanen
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-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-28Try to handle not yet available functionality in MacOSX SDKRickard Green
2016-09-25Fix typo in configuration descriptionLuca Favatella
2016-09-23Fix posix_memalign configure testRickard Green
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-26Reclaim literal area after purge has completedRickard Green
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.
2016-06-21Use perl discovered by configureAlexey Lebedeff
2016-06-15Don't make assumptions about build tools pathsAlexey Lebedeff
One more followup to https://github.com/erlang/otp/pull/1056 and https://github.com/erlang/otp/pull/1023 This time it's about `/usr/bin/env` and `/bin/cp`: - `/usr/bin/env` in `diameterc` was used to find the bootstrapped `escript` executable. Changed it to exlpicit call to `escript` in Makefile. - `/usr/bin/env` and `/bin/cp` were referenced in documentation build/install process. Now full paths to this tools are injected using autoconf magic.
2016-06-08erts: Change LTTng otp domainBjörn-Egil Dahlberg
From 'com_ericsson_otp' to 'org_erlang_otp'. This domain name is more suitable.
2016-06-02Merge branch 'saleyn/uds/PR-612/OTP-13572'Raimo Niskanen
* saleyn/uds/PR-612/OTP-13572: Rewrite inet* for address family 'local' Rewrite inet_drv for AF_LOCAL Assign externally open fd to gen_tcp (UDS support) Conflicts: erts/preloaded/ebin/prim_inet.beam lib/kernel/doc/src/gen_tcp.xml lib/kernel/doc/src/gen_udp.xml lib/kernel/src/inet6_sctp.erl lib/kernel/test/inet_SUITE.erl
2016-05-23erts: Print valid version of lttng-ust in configure helpBjörn-Egil Dahlberg
2016-05-10Remove conditional dirty schedulers APIRickard Green
2016-05-09Merge branch 'binarin/fix-build-tool-paths/PR-1023/OTP-13562'Lukas Larsson
* binarin/fix-build-tool-paths/PR-1023/OTP-13562: Fix program paths used in build process Conflicts: erts/configure.in
2016-04-21Fix program paths used in build processAlexey Lebedeff
Not every OS has '/bin/rm' or '/bin/pwd' at exactly that location. In some places in configure scripts result of AC_PATH_PROG was already correctly used, this patch makes this usage more consistent. As for `/bin/pwd` in `otp_build`, shell built-in one is already used in mingw parts - so it should cause no harm to use it everywhere. Difference is only in symlinks resolution - non-builtin `pwd` always returns absolute path, and builtin-one could take into account what sequence of user actions lead to current value of $PWD.
2016-04-20Merge branch 'sverker/hipe-code-alloc'Sverker Eriksson
2016-04-15erts: Add 'exec_alloc' for hipe codeSverker Eriksson
that uses its own super carrier (erts_exec_mmapper) to guarantee low addressed and executable memory (PROT_EXEC). Currently only used on x86_64 that needs low memory for HiPE/AMD64's small code model. By initializing erts_exec_mapper early we secure its low memory area before erts_literal_mmapper might steal it.
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-06Merge branch 'egil/erts/tracing-beam-lttng/OTP-10282'Björn-Egil Dahlberg
* egil/erts/tracing-beam-lttng/OTP-10282: erts: Don't use ratio in carrier lttng tracepoints Add lttng testcases erts: Extend erlang:system_info/1 with lttng Refactor and fix dtrace define in erl_message erts: Add lttng tracepoints for async pool queue erts: Add lttng tracepoints for drivers erts: Add lttng tracepoints for scheduler events erts: Add lttng tracepoints for memory carriers erts: Update lttng-wrapper with mfa conversion erts: Teach lttng to configure and build system
2016-04-06erts: Teach lttng to configure and build systemBjörn-Egil Dahlberg
Introduce a wrapper API for lttng.
2016-03-21Merge branch 'bjorn/macosx-configure'Björn Gustavsson
* bjorn/macosx-configure: configure: Remove obsolete --enable-darwin-* options
2016-03-18Merge branch 'lukas/erts/fix-vsyslog-freebsd/OTP-13427'Lukas Larsson
* lukas/erts/fix-vsyslog-freebsd/OTP-13427: erts: Fix run_erl syslog prototypes for freebsd Conflicts: erts/etc/unix/run_erl.c
2016-03-17configure: Remove obsolete --enable-darwin-* optionsBjörn Gustavsson
Remove the options: --enable-darwin-universal --enable-darwin-64bit The --enable-darwin-universal option turns on universal binaries (Intel/PPC). It does not work on modern releases of OS X, and OTP 19 will most not likely build on an OS X release that still supports universal builds. The --enable-darwin-64bit option is not needed, because 64-bit builds are default on modern OS X releases. There is also the generic --enable-m64-build option.
2016-03-16Take out (parts of) broken fp exception support for MacOS XBjörn Gustavsson
Floating-point exception support on MacOS X has never been especially reliable, and has therefore been disabled by default for a long time. The fpe support is now broken. Therefore, take out the unnecessary test for modern mcontext in configure (whatever that means) and the associated code in sys_float.c. Add #error directives to sys_float.c to make it clear that fpe is not supported. It seems to risky to mess with the mess of #ifdef's, so we will not attempt to remove all fpe support code for MacOS X.
2016-03-15update copyright-yearHenrik Nord
2016-03-15configure.in: Fix compilation error in ethread.cBjörn Gustavsson
3121171f56c2 made warnings for missing prototypes into compilation errors. That broke building on MacOS X, because prototypes for the pthread_getname_np() and pthread_setname_np() functions included by ethread.c are missing. The prototypes for those functions *are* located in pthread.h, but are not included if _XOPEN_SOURCE is defined. Therefore, we must undefine _XOPEN_SOURCE. 6e606582a6 is the commit that started to define _XOPEN_SOURCE on MacOS X in order to mend floating-point exceptions. Since fp exceptions again are broken and disabled by default, it is safe to remove the definition of _XOPEN_SOURCE.
2016-03-08Merge branch 'sverk/Werror-implicit'Sverker Eriksson
* sverk/Werror-implicit: otp: Add gcc option -Werror=implicit
2016-03-01Merge branch 'maint'Ingela Anderton Andin
2016-03-01Merge branch 'msantos/epmd-IPv6-node-reg2/PR-864/OTP-13364' into maintIngela Anderton Andin
* msantos/epmd-IPv6-node-reg2/PR-864/OTP-13364: epmd: support IPv6 node registration
2016-02-29erts: Fix run_erl syslog prototypes for freebsdLukas Larsson
2016-02-25otp: Add gcc option -Werror=implicitSverker Eriksson
to get errors for missing function and variable declarations.
2016-02-24Merge branch 'maint'Hans Bolinder
* maint: Update preloaded module typos Conflicts: erts/preloaded/ebin/prim_file.beam
2016-02-23typosSverker Eriksson
2016-02-10epmd: support IPv6 node registrationMichael Santos
Allow IPv6 nodes to register with and query epmd. On systems with IPv6 support: * epmd listens on both the IPv4 and IPv6 ANY or loopback sockets * the epmd cli client connects to epmd over the IPv6 loopback * distributed nodes started with "-proto_dist inet6_tcp" will register with epmd over IPv6 To work on IPv6 capable systems that have IPv6 support disabled, epmd ignores errors opening the socket if the protocol is not supported. Similarly, the epmd client will fall back to IPv4 if the IPv6 socket is not available. Update the minimum supported version of Windows to Windows Vista to support IPv6.
2016-02-02erts: Add microstate accountingLukas Larsson
Microstate accounting is a way to track which state the different threads within ERTS are in. The main usage area is to pin point performance bottlenecks by checking which states the threads are in and then from there figuring out why and where to optimize. Since checking whether microstate accounting is on or off is relatively expensive if done in a short loop only a few of the states are enabled by default and more states can be enabled through configure. I've done some benchmarking and the overhead with it turned off is not noticible and with it on it is a fraction of a percent. If you enable the extra states, depending on the benchmark, the ovehead when turned off is about 1% and when turned on somewhere inbetween 5-15%. OTP-12345
2016-01-12Assign externally open fd to gen_tcp (UDS support)Serge Aleynikov
When a AF_LOCAL file descriptor is created externally (e.g. Unix Domain Socket) and passed to `gen_tcp:listen(0, [{fd, FD}])`, the implementation incorrectly assigned the address family to be equal to `inet`, which in the inet_drv driver translated to AF_INET instead of AF_LOCAL (or AF_UNIX), and an `einval` error code was returned. This patch fixes this problem such that the file descriptors of the `local` address family are supported in the inet:fdopen/5, gen_tcp:connect/3, gen_tcp:listen/2, gen_udp:open/2 calls
2016-01-07erts: Add config test for MAP_NORESERVE for hipe on 64-bitSverker Eriksson
to get a nicer error on FreeBSD and others that does not support MAP_NORESERVE for mmap. Q: How to support this? A: Implement the "literal tag" in hipe or another way to reserve virtual address space in erl_mmap.c
2015-12-15Merge branch 'lukas/erts/forker'Lukas Larsson
* lukas/erts/forker: (28 commits) erts: Never abort in the forked child erts: Mend ASSERT makro for erl_child_setup erts: Allow enomem failures in port_SUITE erts: iter_port sleep longer on freebsd erts: Allow one dangling fd if there is a gethost port erts: Only use forker StackAck on freebsd erts: It is not possible to exit the forker driver erts: Add forker StartAck for port start flowcontrol erts: Fix large open_port arg segfault for win32 erts: Fix memory leak at async open port kernel: Remove cmd server for unix os:cmd erts: Add testcase for huge port environment erts: Move os_pid to port hash to child setup erts: Handle all EINTR and EAGAIN cases in child setup erts: Make child_setup work with large environments erts: Fix forker driver ifdefs for win32 erts: Fix uds socket handling for os x erts: Fix dereferencing of unaligned integer for sparc erts: Flatten too long io vectors in uds write erts: Add fd count test for spawn_driver ... Conflicts: erts/emulator/beam/erl_node_tables.c erts/preloaded/src/erts_internal.erl
2015-12-15erts: Create forker process for spawn driverLukas Larsson
Instead of forking from the beam process, we create a separate process in which all forks are done. This has several advantages: 1) performance: * don't have to close all fd's in the world * fork only has to copy stuff from a small process * work is done in a completely seperate process * a 3x performance increase has been measured, can be made even greater (10x) if we cache the environment in child setup 2) stability * the exec is done in another process than beam, which means that if the file that we exec to is on an nfs that is not available right now we will not block a scheduler until the nfs returns. 3) simplicity * don't have to deal with SIGCHLD in the erts Unfortunately, this solution also implies some badness. 1) There will always be a seperate process running together with beam on unix. This could be confusing and undesirable. 2) We have to transfer the entire environment to child_setup for each command. OTP-13088
2015-11-17Add --enable-sharing-preserving configure flagYiannis Tsiouris
2015-11-12Merge branch 'rickard/ohmq/OTP-13047'Rickard Green
* rickard/ohmq/OTP-13047: Fragmented young heap generation and off_heap_message_queue option Refactor GC Introduce literal tag Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_gc.c
2015-11-12Merge branch 'sverk/literal-memory-range'Rickard Green
* sverk/literal-memory-range: erts: Refactor line table in loaded beam code erts: Refactor header of loaded beam code fix check_process_code for separate literal area erts: Add support for fast erts_is_literal() erts: Refactor erl_mmap to allow several mapper instances erts: Add new allocator LITERAL erts: Fix strangeness in treatment of MSEG_ALIGN_BITS erts: Cleanup main carrier creation erts: Remove unused erts_have_erts_mmap erts: Refactor config test for posix_memalign
2015-11-12Introduce literal tagRickard Green
2015-09-11erts: Refactor config test for posix_memalignSverker Eriksson
2015-09-09Merge branch 'maint'Rickard Green
* maint: Add configure switch --disable-saved-compile-time Fix ethread events with timeout Improve choice of clock sources at build time