aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-11-28If a passive receive was ongoing during a renegotiation the processIngela Anderton Andin
evaluating ssl:recv could be left hanging for ever.
2011-11-28Send ssl_closed notification to active ssl user when a tcp error occursIngela Anderton Andin
2011-11-28Update primary bootstrapBjörn Gustavsson
2011-11-28Merge branch 'bjorn/major-release-cleanups'Björn Gustavsson
* bjorn/major-release-cleanups: observer tests: Test compatibility with R13, not R12 emulator tests: Test compatibility with R13, not R12 Teach the compiler the 'r14' option erl_lint: The types introduced in R12B-5 are no longer "newly introduced" otp_internal: Stop warning for functions removed in R12 or earlier Conflicts: lib/stdlib/src/otp_internal.erl
2011-11-28Merge branch 'ia/ssl/tcp-error-handling/OTP-9734'Ingela Anderton Andin
* ia/ssl/tcp-error-handling/OTP-9734: Send ssl_closed notification to active ssl user when a tcp error occurs
2011-11-28Don't use +no_warn_sasl option to systools for bootstrapSiri Hansen
2011-11-28Send ssl_closed notification to active ssl user when a tcp error occursIngela Anderton Andin
2011-11-28Merge branch 'ia/ssl/rizzoduong_beast_countermeasure/OTP-9757'Ingela Anderton Andin
* ia/ssl/rizzoduong_beast_countermeasure/OTP-9757: Implementation of 1/n-1 splitting countermeasure Rizzo/Duong-Beast
2011-11-28Changed typo in test case (a once that should have been true).Ingela Anderton Andin
2011-11-28Add copy of rel file in releases/<vsn> in release tar fileSiri Hansen
systool:make_tar stores the rel file in the releases directory. When unpacking with release_handler:unpack_release, the file is automatically moved to releases/<vsn>/. If, however, the tar file is unpacked manually, the rel file might not be moved, and the next release unpacked might overwrite the rel file. To overcome this, systools:make_tar now stores a copy of the rel file in releases/<vsn>/ directly and it is not longer necessary to move the file after unpacking. The reason for keeping the file in the releases directory also is that is needs to be extracted separately before the release version <vsn> is known.
2011-11-26code: Clean up loading of code_server prerequisitesBjörn Gustavsson
Reorganize in a systematic way the code that loads the modules needed by the code_server process. While at it, remove the useless hipe_unified_loader:load_hipe_modules/0 function.
2011-11-26beam_load.c: Add init_iff_file() for verifying the IFF headerBjörn Gustavsson
Add init_iff_file() for verifying the IFF header. Also let it handle compressed BEAM files so that it will be done in one place. That means that code:get_chunk/2 and code:module_md5/1 will now support compressed BEAM files.
2011-11-26beam_code.c: Don't reinvent state initialization and deallocationBjörn Gustavsson
2011-11-26beam_load.c: Optimize code:get_chunk/2Björn Gustavsson
The undocumented code:get_chunk/2 BIF is supposed to be a fast way to extract a chunk from a BEAM file when loading native code. In practice, it might not have been faster because it happened to calculate an MD5 checksum for the chunk it extracted because it shared the scan_iff_file() function with the erlang:load_module/2 BIF. Split scan_iff_file() into scan_iff_file() and verify_chunks(), so that the unnecessary MD5 calculation can be avoided.
2011-11-26beam_load.c: Eliminate memory leak in code:make_stub_module/3Björn Gustavsson
code:make_stub_module/3 leaked memory if given either a corrupt BEAM file, or a compressed BEAM file and an error occurred, or a binary not aligned on byte boundaries.
2011-11-25erlc_SUITE:arg_overflow/1: Lower number of options for MacOS X LionBjörn Gustavsson
On my Mac, the highest successful value was 7673. The new value provides some safety margin.
2011-11-25Merge branch 'bjorn/external-funs/OTP-9643'Björn Gustavsson
* bjorn/external-funs/OTP-9643: sys_expand_pmod: Handle external funs in parameterized modules
2011-11-25Fix clang linking problemBjörn Gustavsson
Inlining was not done in a portable way. clang follows the C99 semantics for inlining ('inline' essentially implies 'static' in C99, but not in GCC), so bp_sched2ix() was not visible outside beam_bp.c. Since the function need to be used from more than one source file, put the function definition in the beam_bp.h header file. Also, give it an 'erts_' prefix since it is globally visible.
2011-11-25configure: Define NO_JUMP_TABLE if all we have is llvm-gccBjörn Gustavsson
Commit dd24ca1cb76d attempts to fix the problem that LLVM-based compilers (such as llvm-gcc-4.2 and clang) miscompiles beam_emu.c. The idea was to force the use of gcc-4.2 if the default compiler was LLVM-based. Since that fix, Apple released Xcode 4.2 that does not include any version of gcc, only llvm-gcc-4.2 and clang. We could require gcc in order to be the system, but it would be nice if Erlang/OTP could be built out-of-box on MacOS X, albeit with reduced performance. Therefore, make sure that we set NO_JUMP_TABLE (use a switch statement instead of computed gotos in beam_emu.c) if no compiler that correctly handles computed gotos can be found. We know that clang based on the upcoming LLVM 3.0 will work, but older LLVM-based compilers will not, so we can test the version of clang. llvm-gcc has been discontinued in LLVM 3.0, so if the compiler is LLVM-based but not clang, we can assume that it does not handles computed gotos correctly.
2011-11-25beam_emu.c: Eliminate warnings when NO_JUMP_TABLE is definedBjörn Gustavsson
2011-11-25beam_emu.c: Use the correct void* type for computed gotosBjörn Gustavsson
gcc don't care about the type, but clang does and will issue a warning.
2011-11-25MacOS X: Completely remove obsolete -no-cpp-precomp optionBjörn Gustavsson
clang does not recognize the -no-cpp-precomp option and generates a warning. -no-cpp-precomp is an obsolete Apple-specific gcc option, which last had any effect in gcc 3.1 for Jaguar. Since we cannot build for Jaguar anyway, the configure test added in 8412a400e92d5cbcd is not needed.
2011-11-25Merge branch 'siri/sasl/no-warn-missing-sasl/OTP-9738'Siri Hansen
* siri/sasl/no-warn-missing-sasl/OTP-9738: Add +no_warn_sasl flag when compiling start_clean.rel Add option no_warn_sasl to systools:make_script
2011-11-25Merge branch 'siri/sasl/xxgrade_app-with-restart/OTP-9735'Siri Hansen
* siri/sasl/xxgrade_app-with-restart/OTP-9735: Fix release_handler:upgrade_app and downgrade_app when upgrading emulator
2011-11-25Merge branch 'siri/sasl/dialyzer/OTP-9719'Siri Hansen
* siri/sasl/dialyzer/OTP-9719: Fix dialyzer warnings in release_handler
2011-11-24filename documentation: Recommend against using filename:find_src/1,2Björn Gustavsson
2011-11-24Teach filename:find_src/1,2 to handle slim or stripped BEAM filesBjörn Gustavsson
filename:find_src/1,2 will crash when asked to find the source corresponding to a BEAM with no compilation options. A BEAM file can be missing compilation options if it has been stripped using beam_lib:strip/1 or compiled using the undocumented 'slim' option. Why this matters: If ERL_COMPILE_OPTIONS is set to +slim before building Erlang/OTP, there will be a crash in 'igor' during the building of the public_key application. ('igor' merges several source code files, and uses filename:find_src/1,2 to find the source code.) Change filename:find_src/1,2 to return an empty option list if there are no options in the BEAM file. Noticed-by: Per Hedeland
2011-11-24Add +no_warn_sasl flag when compiling start_clean.relSiri Hansen
This suppresses the 'missing_sasl' warning from systools.
2011-11-24filename: Eliminate failing call to Mod:module_info(source_file)Björn Gustavsson
Mod:module_info(source_file) is no longer supported (and have not been for a long time), so calling it will always fail.
2011-11-24filename.erl:filter_options/1: Remove handling of dead optionsBjörn Gustavsson
The 'trace' and 'fast' options are no longer supported. While at it, correct the comment about option filtering.
2011-11-24compiler: Don't include {cwd,_} in module_info(compile)Björn Gustavsson
The {cwd,Dir} option is always included if the module has been compiled by erlc. Since its presence cannot be relied upon and it wastes memory, get rid of it.
2011-11-24compiler: Don't include source code options in module_info(compile)Björn Gustavsson
As far as I know, the purpose of the compiler options included in Mod:module_info(compile) has never been documented. An educated guess is that they are there in case you want to re-compile the module with the same options, and also to aid in debugging when you need to know how a module was compiled. In neither case is there any need to include options given in the source itself in options included in Mod:module_info(compile). Including those options will only waste memory. Therefore, only include in the BEAM file the options that were given to compile:file/2.
2011-11-24hipe: Teach hipe to handle slim or stripped BEAM filesBjörn Gustavsson
2011-11-24Update primary bootstrapBjörn Gustavsson
2011-11-24Merge branch 'bjorn/remove-regexp-module/OTP-9737'Björn Gustavsson
* bjorn/remove-regexp-module/OTP-9737: stdlib: Remove the deprecated regexp module
2011-11-24Use libdlpi to get physical addressTrond Norbye
2011-11-24observer tests: Test compatibility with R13, not R12Björn Gustavsson
2011-11-24emulator tests: Test compatibility with R13, not R12Björn Gustavsson
2011-11-24Teach the compiler the 'r14' optionBjörn Gustavsson
2011-11-24erl_lint: The types introduced in R12B-5 are no longer "newly introduced"Björn Gustavsson
When a new built-in type is introduced, type definitions with the same name will still be allowed for "a while".
2011-11-24otp_internal: Stop warning for functions removed in R12 or earlierBjörn Gustavsson
When a deprecated function has been removed, the compiler will issue a warning if it sees a call to it, even for functions that were removed as far back as the R9 release. Since the otp_internal module grows when new deprecated functions are added, let's reduce its size somewhat by removing information about functions that were removed in the R12 release or earlier.
2011-11-24sys_expand_pmod: Handle external funs in parameterized modulesBjörn Gustavsson
Starting in ff432e262e65243cbc983fcb002527f8fae8c78b, sys_pre_expand passes external funs through to the downstream passes. It used to translate external funs to a call to erlang:make_fun/3. Therefore, we will now need to handle external funs in sys_expand_pmod. Noticed-by: Stavros Aronis
2011-11-23Implementation of 1/n-1 splitting countermeasure Rizzo/Duong-BeastIngela Anderton Andin
The code is refactored and improved to make it easier to insert the 1/n-1 splitting countermeasure Rizzo/Duong-Beast that is really done in one function clause in ssl:record_split_bin/3
2011-11-23tar_SUITE: Don't do symlink tests on WindowsBjörn Gustavsson
2011-11-23Add option no_warn_sasl to systools:make_scriptSiri Hansen
This option will suppress the 'missing-sasl' warning which otherwise is issued when compiling a .rel file which does not include the sasl application.
2011-11-23erlc_SUITE: Fix failing compile_mib/1 test caseBjörn Gustavsson
The MIB compiler has changed how it reports syntax errors.
2011-11-23Merge branch 'ia/ssl/renegotiation-dos-attack/OTP-9739'Ingela Anderton Andin
* ia/ssl/renegotiation-dos-attack/OTP-9739: Mitigate Computational DoS attack
2011-11-23Update primary bootstrapBjörn Gustavsson
2011-11-23Avoid slow code loading of BEAM code in a hipe-enabled emulatorBjörn Gustavsson
On my Linux computer, building the entire Erlang/OTP system with hipe disabled took about 8 minutes. With hipe enabled, but without any native code, the build took about 23 minutes, i.e. more than 3 times slower. (The computer has 4 cores, and I used 'make -j6'.) On my eight-core Mac (running 'make -j10') there was only a slight slowdown when hipe was enabled. The culprit is hipe_unified_loader:post_beam_load/1, which will be called every time a module is loaded (even if the module contains no native code). If post_beam_load/1 is called in a hipe-enabled emulator, it will block multi-scheduling, even if no work needs to be done. Apparently the cost for blocking multi-scheduling can vary greatly, depending on the operating system and system load. As a quick and conservative fix, don't call post_beam_load/1 unless some native code has been previously loaded.
2011-11-23Fix release_handler:upgrade_app and downgrade_app when upgrading emulatorSiri Hansen
Changes to the mechanism for upgrading the emulator in OTP R15 was erronously not handled in release_handler:upgrade_app, downgrade_app, upgrade_script and downgrade_script. This has been corrected, including test and documentation.