aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc
AgeCommit message (Collapse)Author
2010-11-29Merge branch 'bw/win32-laa' into devPatrik Nyblom
* bw/win32-laa: Added win32 large address aware link option OTP-8956
2010-11-29Update ct_run deprectaion warning to work properly on windowsLukas Larsson
2010-11-29Update make and install files to use ct_run instead of run_test and to keep ↵Lukas Larsson
a link to run_test available
2010-11-29Add deprication warning to run_test.cLukas Larsson
2010-11-15Merge branch 'dgud/erts/windows-vs10-express' into devDan Gudmundsson
* dgud/erts/windows-vs10-express: Fix manifest files
2010-11-12Fix manifest filesDan Gudmundsson
It seems windows have updated manifest files in VS2010 which caused the erlang programs to contain duplicate requestedExecutionLevel entries, which is not allowed. This patch removes the microsoft entry, before adding our own which is known to work with XP and Vista.
2010-11-09Implement inet:getifaddrs/0 on WindowsRaimo Niskanen
2010-11-02Merge branch 'sf/erts_de_busy_limit' into devRickard Green
* sf/erts_de_busy_limit: Add flag-based setting for the distribution buffer busy limit
2010-11-02Add flag-based setting for the distribution buffer busy limitScott Lystig Fritchie
Id: OTP-8912 This patch creates a new family of flags with the "+z" prefix. It further creates a new configuration option called "dbbl" (which is the first letter of the name dist_buf_busy_limit). Example usage of this flag would be "+zdbbl 1048576". This patch creates an adjustable buffer limit for the amount of data that may be buffered by the erlang distribution code (in dist.c specifically). Before this patch, this hard-coded constant was used: #define ERTS_DE_BUSY_LIMIT (128*1024) When large binaries are transmitted between nodes (or simply a lot of medium-sized binaries), it is very easy to hit the old 128KB limit. Processes that use the erlang:system_monitor() BIF to monitor system events can be spammed by {monitor, busy_dist_port, ...} message tuples at rates of tens to even hundreds of messages/second. A larger buffer limit will allow processes to buffer more outgoing messages over the distribution. When the buffer limit has been reached, sending processes will be suspended until the buffer size has shrunk. The buffer limit is per distribution channel. A higher limit will give lower latency and higher throughput at the expense of higher memory usage. A variation of this patch has been in commercial production use in at least two companies that the author is aware of. Larger buffer values can reduce the number of {monitor, busy_dist_port, ...} system messages drastically, lower overall messaging latencies, and prevent false timeouts and 'nodedown' messages in extremely busy Mnesia systems. Test suite: there are two tests: a. In erlexec_SUITE.erl to test basic set & get of the value b. In distribution_SUITE.erl, to verify that setting +zdbbl very low will actually change behavior.
2010-10-14Merge branch 'ms/security-fixes' into devBjörn Gustavsson
* ms/security-fixes: erlc: remove unused variable typer: prevent buffer overflows run_test: prevent buffer overflow heart: prevent buffer overflow escript: prevent buffer overflows erlexec: prevent buffer overflows erlc: prevent buffer overflows dialyzer: prevent buffer overflows OTP-8892
2010-10-07Incorporate Michael Santos patch for cerl and gdb via emacsPatrik Nyblom
Michael Santos supplied a very nice patch that did set the annotation level correctly for gdb when run from cerl in emacs. The patch adds --annotate=3 to the gdb command line, which makes emacs parse the gdb output correctly, making the right source code be loaded in the emacs buffer. While integrating it, I removed my faulty code trying to do the same with hacky elisp commands. Michaels way is the right way to do it. Thanks!
2010-10-06Added win32 large address aware link optionBlaine Whittle
This link option just sets a flag in the binary and doesn't change OS compatibility. This allows the Erlang VM to use up to 3 gigs of address space instead of the default of 2 gigs.
2010-10-04erlc: remove unused variableMichael Santos
2010-10-04typer: prevent buffer overflowsMichael Santos
2010-10-04run_test: prevent buffer overflowMichael Santos
Truncate buffers used to hold command line arguments.
2010-10-04heart: prevent buffer overflowMichael Santos
2010-10-04escript: prevent buffer overflowsMichael Santos
Check buffer operations on input from escripts, the command line and environment variables.
2010-10-04erlexec: prevent buffer overflowsMichael Santos
Truncate buffer operations on environment variables.
2010-10-04erlc: prevent buffer overflowsMichael Santos
Check buffer operations and increase the size of the buffer used for holding command line arguments, since the "-D" switch will be expanded into 3 arguments when passed to erl.
2010-10-04dialyzer: prevent buffer overflowsMichael Santos
Check length of buffers used with environment variables and debug messages.
2010-09-29Add corrected support for Solaris PTYs to run_erlRyan Tilder
Two related but slightly separate issues: run_erl doesn't support Solaris's /dev/ptmx device and run_erl didn't load the necessary STREAMS modules so that to_erl can provide terminal echo of keyboard input. This patch adds ifdef'd support for Solaris and derivatives to open /dev/ptmx directly since adding the C99 defines to CFLAGS breaks all kinds of other things in the build. It also adds ifdef'd ioctl calls to load the necessary STREAMS modules to permit termios to work.
2010-09-29Fix a typo that leads to syntax errors with DEBUG defined in run_erlRyan Tilder
While attempting to debug odd terminal echo issues on Solaris, I noticed that run_erl.c will fail to compile due to a typo causing a syntax error.
2010-09-04Add scheduler wakup threshold as command line argumentRickard Green
The scheduler wakeup threshold is now possible to adjust at system boot. For more information see the `+swt' command line argument of `erl'.
2010-08-30Merge branch 'sverker/win-virtualization-off/OTP-7405' into devPatrik Nyblom
* sverker/win-virtualization-off/OTP-7405: Teach XP to ignore virtualization part of manifest Turn off windows "virtualiztion"
2010-08-10Merge branch 'rickard/ethread-rewrite/OTP-8544' into devRickard Green
* rickard/ethread-rewrite/OTP-8544: Rewrite ethread library
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-07-30Fix libm linking with --as-needed flagBjörn-Egil Dahlberg
When building with "--as-needed" linker flags on Linux the build will fail. This has now been fixed.
2010-07-23Teach XP to ignore virtualization part of manifestPatrik Nyblom
ld.sh built files not executable on XP, as parts of the manifest were incomprehensible for XP machines.
2010-07-22Turn off windows "virtualiztion"Sverker Eriksson
2010-06-11Merge branch 'peppe/common_test_r14_dev_2' into devErlang/OTP
* peppe/common_test_r14_dev_2: Misc documentation updates Add documentation for run_test program Step vsn for test_server to 3.4 Make {repeat*,N} property in group execute the group N times exactly Fix so that ct_run converts relative diretories in the code path to absolute Fix bug in handling framework:end_tc timeouts Fix bug that prevents the interactive shell mode to start properly Fix failing multiply timetrap test case Minor fixes in code and test suites Add support for executing pre-loaded suites (e.g. modules loaded as binaries) Add test suite for remote loading of binary suites Fix error with {repeat,0} property in groups causing double iterations Add support for config info functions (e.g. init_per_suite/0) Add support for dynamic timetrap handling Have end_per_testcase run even after timetrap_timeout and abort_testcase Flush old DOWN messages in demonitor Add groups in test specifications Add new tests for test case groups and test specifications Improve and fix various test suites Add event_handler_init start flag that can pass init arguments to event handlers ... OTP-8703 peppe/common_test_r14_dev_2
2010-06-09Add -erl_args flag to run_test programPeter Andersson
With -erl_args it's possible to divide the start options on the command line and this way specify explicitly which options are meant for Common Test, and which are meant for other OTP applications (or ERTS).
2010-06-09Fix error installing the run_test programPeter Andersson
2010-06-09Add run_test program for Common TestPeter Andersson
Common Test may now be started with the program run_test instead of the legacy shell script with the same name. Minor updates have also been made to the Webtool application.
2010-06-09Merge branch 'pan/otp_8692_static_config_cache' into devErlang/OTP
* pan/otp_8692_static_config_cache: Teach rc.sh to use tail -n +2 instead of tail +2 Make win32.config.cache static and copied when doing otp_build configure
2010-06-08Teach rc.sh to use tail -n +2 instead of tail +2U-KRAKEN\pan
2010-05-04Merge branch 'ms/inet_gethost-safe-debug-output' into devErlang/OTP
* ms/inet_gethost-safe-debug-output: Truncate debug messages OTP-8615 ms/inet_gethost-safe-debug-output
2010-05-03Truncate debug messagesMichael Santos
When the undocumented ERL_INET_GETHOST_DEBUG environment variable is set to 5, very long hostnames can overflow the buffer used to construct the debug message. Truncate debug messages if they exceed the size of the buffer. export ERL_INET_GETHOST_DEBUG=5 inet:gethostbyname(lists:duplicate(5000,"x")).
2010-03-10cerl: Work around missing source frame in when running gdb in emacsPatrik Nyblom
This problems occurs in some recent versions of Emacs.
2010-02-10Change erts/etc/unix/Install.src to explicitly set exit code to 0 at the end ↵Kenji Rikitake
of the script This patch will ensure the Install.src script to exit with the exit code 0 when the execution finished at the end of the script. Originally from FreeBSD port patch.
2010-02-09OTP-8427 Removed spurious options to the emulator from escript.Håkan Mattsson
2010-02-09OTP-8417 Improved handling of symbolic links to escriptsHåkan Mattsson
2010-02-03OTP-8323 Cross compilation improvements and other build systemRickard Green
improvements. Most notable: Lots of cross compilation improvements. The old cross compilation support was more or less non-existing as well as broken. Please, note that the cross compilation support should still be considered as experimental. Also note that old cross compilation configurations cannot be used without modifications. For more information on cross compiling Erlang/OTP see the $ERL_TOP/xcomp/README file. Support for staged install using <url href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed. For more information see the $ERL_TOP/README file. Documentation of the release target of the top Makefile. For more information see the $ERL_TOP/README file. make install now by default creates relative symbolic links instead of absolute ones. For more information see the $ERL_TOP/README file. $ERL_TOP/configure --help=recursive now works and prints help for all applications with configure scripts. Doing make install, or make release directly after make all no longer triggers miscellaneous rebuilds. Existing bootstrap system is now used when doing make install, or make release without a preceding make all. The crypto and ssl applications use the same runtime library path when dynamically linking against libssl.so and libcrypto.so. The runtime library search path has also been extended. The configure scripts of erl_interface and odbc now search for thread libraries and thread library quirks the same way as erts do. The configure script of the odbc application now also looks for odbc libraries in lib64 and lib/64 directories when building on a 64-bit system. The config.h.in file in the erl_interface application is now automatically generated in instead of statically updated which reduces the risk of configure tests without any effect.
2010-02-02Add the +t emulator option to change the maximum number of atomsJulien Barbot
It is now possible to increase or decrease the maximum number of atoms the VM can handle. The default value is 1048576 (1024*1024).
2010-01-20Merge branch 'cf/compile_warning_as_error' into ccase/r13b04_devErlang/OTP
* cf/compile_warning_as_error: Add option -Werror in erlc(1) compile: add flag warnings_as_errors to treat warnings as errors compile.erl: remove trailing whitespace OTP-8382 The -Werror option for erlc and the compiler option warnings_as_errors will cause warnings to be treated as errors. (Thanks to Christopher Faulet.)
2010-01-19Add option -Werror in erlc(1)Christopher Faulet
Like in gcc, this option treats warnings as errors.
2010-01-15Merge branch 'egil/binary-gc' into ccase/r13b04_devErlang/OTP
* egil/binary-gc: Add documentation for binary heap size settings. Add tracing capabilities for binary virtual heap Add min heap size start options to beam and erl Improve binary garbage collection OTP-8370 The default settings for garbage collection of binaries has been adjusted to be less aggressive than in R13B03. It is now also possible configure the settings for binary GC. See the documentation for spawn_opt/2-5, erlang:system_info/1, erlang:system_flag/2, process_flag/2-3, erlang:trace/3, and the documenation for erl for the new command line options +hms and +hmbs.
2010-01-13Add min heap size start options to beam and erlBjörn-Egil Dahlberg
The erl (and beam) start arguments are extended with the following options: * +hms Size, sets the default minimum heap size for processes. * +hmbs Size, sets the default minimum binary virtual heap size for processes. The previous +h Size argument can still be used for backward compatibility purposes.
2009-12-15Allow mc.sh and rc.sh to work when path to mc/rc.exe has spacesAndrew Thompson
The eval call in these scripts was failing for me because the path to them on my windows machine contained spaces. I also fixed some copy/paste-os from when (evidently) the mc.sh script was created by copying the rc.sh script and modifying it.
2009-12-04Merge branch 'mh/to_erl-error-messages' into ccase/r13b04_devErlang/OTP
* mh/to_erl-error-messages: to_erl: Include strerror(errno) in error messages OTP-8325 to_erl will now include the system error string in error messages to make it easier to understand what the real problem is. (Thanks to Magnus Henoch.)
2009-11-28to_erl: Include strerror(errno) in error messagesMagnus Henoch
to_erl likes to print the message "No running Erlang on pipe ...", no matter what the problem actually was. The wording might make you forget that you just need to run to_erl as another user, for example. With this change, to_erl will print the system error message in addition to its own. Example output: No running Erlang on pipe pipes/erlang.pipe.5: Permission denied (wrong user, wrong permissions, etc) No running Erlang on pipe pipes/erlang.pipe.5: No such device or address (this actually means "no running Erlang") No running Erlang on pipe pipes/erlang.pipe: No such file or directory (not only is there no running Erlang, there are also no pipes at all)