aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
AgeCommit message (Collapse)Author
2015-05-21Add architecture ppc64le architecture as a ppc64Breno Leitao
ppc64le is a new arch/ABI that runs on IBM POWER processor starting at POWER8 processor, and it should be listed as a ppc64, mainly for hipe enablement. For more information about this new arch/ABI, please check the documents at: https://www-03.ibm.com/technologyconnect/tgcm/TGCMServlet.wss?alias=OpenPOWER
2015-05-11Merge branch 'egil/erts/high_accuracy_sleep/OTP-12236'Björn-Egil Dahlberg
* egil/erts/high_accuracy_sleep/OTP-12236: erts: Add high accuracy poll timeouts
2015-05-11Merge branch 'aw/native-cpu_sup/OTP-12730'Björn-Egil Dahlberg
* aw/native-cpu_sup/OTP-12730: erts: Fix configure.in os_mon: rename send() to sendi() in cpu_sup.c os_mon: cpu_sup should use native sysctl/libkvm calls on BSD
2015-05-08Merge branch 'sverk/erts-fp-exception-fixes/OTP-12717'Sverker Eriksson
* sverk/erts-fp-exception-fixes/OTP-12717: erts: Disable float exceptions for clang/llvm erts: Increase buffer in erts_fp_check_init_error
2015-05-08Merge branch 'rickard/time-improvement/OTP-11997'Rickard Green
* rickard/time-improvement/OTP-11997: Allow execution of estone suite on pre OTP-18 systems Add parallel time monotonicity test-case Replace usage of erlang:now() in line-tracing Replace erlang:now() usage in emulator suite Replace erlang:now() usage in system suite Misc time improvements
2015-05-07Merge branch 'henrik/update-javaversion'Henrik Nord
* henrik/update-javaversion: update java version OTP-12715
2015-05-06Misc time improvementsRickard Green
- Possibility to chose different clock sources - Improved mach clock usage - Improved linux clock_gettime() usage - ...
2015-05-06erts: Disable float exceptions for clang/llvmMikael Pettersson
Change erts/configure.in to force-disable FP exceptions if the VM is compiled by clang/llvm. clang/llvm generates FP code which does not work with FP exceptions (whether unmasked as used in the Erlang VM, or masked followed by tests of which are signalled). This is a known long-standing problem.
2015-05-05erts: Fix configure.inBjörn-Egil Dahlberg
Don't repeat cpu_sup in os_mon_programs - some OS gets confused, i.e. illumos.
2015-04-29erts: Fix incorrect use of AC_EGREP_CPPJohan Oudinet
Using 'AC_EGREP_CPP(yes' without restraining the pattern always return true if it runs from a path containing the string 'yes'.
2015-04-21update java versionHenrik Nord
2015-04-20erts/configure.in: handle more 'linux' spellingsMikael Pettersson
The configuration code which canonicalizes the operating system name into OPSYS requires Linux to be spelled 'linux' or 'Linux'. This is a problem in some build environments, e.g. RPM, which supply --build and --host using the longer 'linux-gnu' spelling. The effect is that OPSYS becomes 'noopsys' and some checks in erts/configure.in do not work as expected, e.g. the auto-enabling of HiPE may not happen. Fixed by matching on 'linux*' not just 'linux'. On ARM there are even longer variants such as 'linux-gnueabi' and 'linux-gnueabihf': these are also correctly mapped to 'linux' now.
2015-04-13erts: Add high accuracy poll timeoutsLukas Larsson
Different poll/select implementations have different ways to handle timeouts of < ms accuracy. Most have extended API like pselect or such, while others rely on using timerfds (epoll_wait). If no high accuracy timeout is available, we simply round up to nearest ms. If we do not roundup we will spin the last ms when waiting for a timeout which is not desirable.
2015-03-20Merge branch 'rickard/gcc-atomics/OTP-12383'Rickard Green
* rickard/gcc-atomics/OTP-12383: Improve ethread atomics based on GCC builtins Conflicts: erts/aclocal.m4
2015-02-19remove perfctr supportMikael Pettersson
Perfctr is a Linux kernel extension that allows programmatic access to the performance monitoring counters found in most current CPUs. However, development of perfctr ceased after 2010, and it cannot be used with Linux kernels newer than 2.6.32. Therefore the perfctr support code in the Erlang VM is effectively dead code, so this patch removes it.
2015-01-16Merge branch 'oliv3/math_log2/OTP-12411'Marcus Arendt
* oliv3/math_log2/OTP-12411: Add math:log2/1
2015-01-14Improve ethread atomics based on GCC builtinsRickard Green
* Use of __atomic builtins when available. * Improved configure test that checks for missing memory barrier in __sync_synchronize(). The old approach was to verify known working gcc versions and check gcc version at compile time. Besides not being very safe, the old approach often unnecessarily caused usage of the very expensive workaround. * Introduced (no overhead) workaround for missing clobber in __sync_synchronize() when using buggy LLVM implementation of __sync_synchronize(). * Implement native memory barriers for ARM processors supporting the DMB instruction. * Use of volatile store on Alpha as atomic set operation if no __atomic_store_n() is available (already used on x86/x86_64 Sparc V9, PowerPC, and MIPS). Fallback used when not using volatile store is typically very expensive. * Use volatile load on Alpha and ARM as atomic read operation if no __atomic_load_n() is available (already used on x86/x86_64 Sparc V9, PowerPC, and MIPS). Fallback when not using volatile load is typically very expensive.
2015-01-14Add math:log2/1Olivier Girondel
2014-12-29os_mon: cpu_sup should use native sysctl/libkvm calls on BSDAlex Wilson
This avoids forking off with os:cmd every time we just want to collect the load averages. riak does this every second, which results in a lot of unnecessary load.
2014-12-08Fix inet:getopts involving #sctp_paddrinfo{}Simon Cornish
Handle peer addresses that are unconfirmed (i.e. in state SCTP_UNCONFIRMED). Handle unknown states instead of using ASSERT
2014-11-26Clean up temporary dtrace file during configSteve Vinoski
When configuring erts to support dynamic trace via dtrace, be sure to clean up the temporary file "erts/foo-dtrace.h" used to help check for dtrace support. Otherwise, it shows up as an untracked file in git.
2014-11-25Merge branch 'sverk/with-ssl-rpath/OTP-12316' into maintSverker Eriksson
* sverk/with-ssl-rpath/OTP-12316: erts,crypto: Add configure option --with-ssl-rpath
2014-11-24epmd: Added systemd notify support to EPMDPeter Lemenkov
Signed-off-by: Peter Lemenkov <[email protected]>
2014-11-20erts,crypto: Add configure option --with-ssl-rpathSverker Eriksson
2014-10-28Use isfinite() instead of finite() when availableAnthony Ramine
OS X Mavericks builds result in a number of warnings about finite() being deprecated, like these: beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations] ERTS_FP_ERROR(p, f1.fd, goto badarith); ^ sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR' ^ sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR' ^ /usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); Add checks to use isfinite() instead of finite() where available. Verified on OS X Mavericks 10.9.5 and Ubuntu 12.04.
2014-10-02Merge branch 'sverk/with-ssl-incl' into maintSverker Eriksson
* sverk/with-ssl-incl: Correct SSL_RUNTIME_LIBDIR when erl_xcomp_sysroot ends with a / Add configure option --with-ssl-incl=PATH OTP-12215 OTP-12216
2014-09-10Correct SSL_RUNTIME_LIBDIR when erl_xcomp_sysroot ends with a /Sverker Eriksson
2014-09-10Add configure option --with-ssl-incl=PATHSverker Eriksson
to be used together with --with-ssl=PATH if the include directory is in another location.
2014-09-10Merge branch 'lukas/docfixes-17.3/OTP-12152' into maintLukas Larsson
* lukas/docfixes-17.3/OTP-12152: Fix some spelling misstakes
2014-08-04Fix some spelling misstakesLukas Larsson
2014-07-12Implement --enable-sanitizers[=sanitizers]Tuncer Ayaz
Similar to debugging with Valgrind, it's very useful to enable -fsanitize= switches to catch bugs at runtime. $ ./configure Result: no sanitizer enabled $ ./configure --enable-sanitizers Result: -fsanitize=address,undefined $ ./configure --enable-sanitizers=address,thread,undefined Result: -fsanitize=address,thread,undefined $ ./configure --enable-sanitizers=undefined Result: -fsanitize=undefined
2014-05-31Add correct detection of powerpc architecture.Matwey V. Kornilov
2014-05-31Add correct detection of armv6hl and armv7hl architectures.Matwey V. Kornilov
2014-05-09erts: Fix various autoconf issuesLukas Larsson
* Check of atomics on bsd * Add --enable-systemd for epmd * Remove unused --enable-tsp option
2014-03-27Merge branch 'matwey/systemd/OTP-11829'Lukas Larsson
* matwey/systemd/OTP-11829: Add systemd socket activation for epmd. Conflicts: erts/epmd/src/epmd_int.h Extra ticket: OTP-11828
2014-03-24Merge branch 'sverk/halfword-deprecate/OTP-11777'Sverker Eriksson
* sverk/halfword-deprecate/OTP-11777: erts: Deprecate halfword emulator
2014-03-13erts: Deprecate halfword emulatorSverker Eriksson
2014-03-09Use closefrom(2) when available in child_setupRick Reed
2014-02-26Disable accidentally enabled floating point exceptions on MacOS XBjörn Gustavsson
In c7ddafbe, which disabled floating point exceptions on Linux, floating point exceptions were accidentally enabled on MacOS X.
2014-02-24Merge branch 'lukas/ose/master/OTP-11334'Lukas Larsson
* lukas/ose/master/OTP-11334: (71 commits) erts: Fix unix efile assert ose: Use -O2 when building ose: Expand OSE docs ose: Add dummy ttsl driver ose: Cleanup cleanup of mutex selection defines ose: Polish mmap configure checks ose: Add ose specific x-compile flags ose: Updating fd_driver and spawn_driver for OSE ose: Updating event and signal API for OSE ose: Cleanup of mutex selection defines win32: Compile erl_log.exe ose: Remove uneccesary define ose: Fix ssl configure test for osx erts: Fix sys_msg_dispatcher assert ose: Fix broken doc links ose: Thread priorities configurable from lmconf ose: Yielding the cpu is done "the OSE" way ose: Start using ppdata for tse key ose: Do not use spinlocks on OSE ose: Fix support for crypto ... Conflicts: lib/crypto/c_src/crypto.c
2014-02-24ose: Polish mmap configure checksLukas Larsson
2014-02-24ose: Fix ssl configure test for osxLukas Larsson
2014-02-24ose: Fix support for cryptoLukas Larsson
To enable it you have to modify the OSESSL variable in the ose xcomp file.
2014-02-24erts: configure number of write_concurrency locksLukas Larsson
Make it possible to change the number of write_concurrency locks to use. This is usefull to change when you for some reason want to use more/less locks per write_concurrency ets table. eg. OSs with a limit on how many mutexes can exist at once.
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
2014-02-24Merge branch 'rickard/configure-defaults/OTP-11723'Rickard Green
* rickard/configure-defaults/OTP-11723: Always default to disabled floating point exceptions on Linux
2014-02-24Always default to disabled floating point exceptions on LinuxRickard Green
This since there exist unresolved stability issues in the implementation for Linux.
2014-02-24Merge branch 'rickard/assumed-cacheline-size/OTP-11742'Rickard Green
* rickard/assumed-cacheline-size/OTP-11742: Introduce configure option --with-assumed-cache-line-size=SIZE
2014-02-24Merge branch 'vinoski/ds2'Rickard Green
* vinoski/ds2: further enhancements for dirty schedulers allow optional whitespace in dirty scheduler erl options
2014-02-24further enhancements for dirty schedulersSteve Vinoski
Add support for setting the number of dirty CPU schedulers online via erlang:system_flag/2. Assuming the emulator is built with dirty schedulers enabled, the number of dirty CPU schedulers online may not be less than 1, nor greater than the number of dirty CPU schedulers available, nor greater than the number of normal schedulers online. Dirty CPU scheduler threads that are taken offline via system_flag/2 are suspended. The number of dirty CPU schedulers online may be adjusted independently of the number of normal schedulers online, but if system_flag/2 is used to set the number of normal schedulers online to a value less than the current number of normal schedulers online, the number of dirty CPU schedulers online is decreased proportionally. Likewise, if the number of normal schedulers online is increased, the number of dirty CPU schedulers online is increased proportionally. For example, if 8 normal schedulers and 4 dirty CPU schedulers are online, and system_flag/2 is called to set the number of normal schedulers online to 4, the number of dirty CPU schedulers online is also decreased by half, to 2. Subsequently setting the number of normal schedulers online back to 8 also sets the number of dirty CPU schedulers online back to 4. Augment the system_flag/2 documentation in the erlang man page to explain this relationship between schedulers_online and dirty_cpu_schedulers_online. Also ensure that all dirty CPU and I/O schedulers are suspended when multi-scheduling is blocked via system_flag/2, and brought back online when multi-scheduling is unblocked. Add Rickard Green's rewritten check_enqueue_in_prio_queue() function that inspects process state more thoroughly to determine if to enqueue it and if so on what queue, including dirty queues when appropriate. Make sure dirty NIF jobs do not trigger erlang:system_monitor long_schedule messages. Add more dirty scheduler testing to the scheduler test suite. Remove the erts_no_dirty_cpu_schedulers_online global variable, since it's no longer needed. Execute dirty NIFs on a normal scheduler thread while multi-scheduling blocking is in effect. Evacuate any dirty jobs residing in the dirty run queues over to a normal run queue when multi-scheduling is blocked. Allow dirty schedulers to execute aux work. Set the dirty run queues halt_in_progress flag when halting the normal schedulers. Change dirty scheduler numbers to a structure including both scheduler number and type, either dirty CPU or dirty I/O. Add some assertions to ensure that dirty CPU schedulers operate only on dirty CPU scheduler process flags, and the same for dirty I/O schedulers.