Age | Commit message (Collapse) | Author |
|
* lukas/erts/large_float_cmp/OTP-9497:
Use CMP_TMP_HEAD_SIZE for C-stack
|
|
Thanks to Tuncer Ayaz
|
|
|
|
|
|
Caused core dump with gen_udp_SUITE on halfword vm.
|
|
|
|
* bjorn/compiler/options/OTP-9752:
filename documentation: Recommend against using filename:find_src/1,2
Teach filename:find_src/1,2 to handle slim or stripped BEAM files
filename: Eliminate failing call to Mod:module_info(source_file)
filename.erl:filter_options/1: Remove handling of dead options
compiler: Don't include {cwd,_} in module_info(compile)
compiler: Don't include source code options in module_info(compile)
hipe: Teach hipe to handle slim or stripped BEAM files
|
|
|
|
* bjorn/code-loading:
code: Clean up loading of code_server prerequisites
beam_load.c: Add init_iff_file() for verifying the IFF header
beam_code.c: Don't reinvent state initialization and deallocation
beam_load.c: Optimize code:get_chunk/2
beam_load.c: Eliminate memory leak in code:make_stub_module/3
|
|
* ia/ssl/test-cases-maint:
Changed typo in test case (a once that should have been true).
|
|
|
|
|
|
Reported by Uwe Dauernheim.
|
|
|
|
* bjorn/fix-failing-tests:
erlc_SUITE:arg_overflow/1: Lower number of options for MacOS X Lion
tar_SUITE: Don't do symlink tests on Windows
erlc_SUITE: Fix failing compile_mib/1 test case
|
|
* bjorn/hipe/remove-single-func-comp/OTP-9751:
hipe: Remove single function compilation
|
|
Compiling single functions (as opposed to whole modules) to native
code complicates code management in HiPE. It would also vastly
complicate whole-module optimizations, such as returning multiple
return values instead of tuples within a module.
As a first step, remove the external interface for the single
compilation feature. In the future, there are many things that
could be restructured and simplified.
|
|
|
|
evaluating ssl:recv could be left hanging for ever.
|
|
|
|
|
|
* 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
|
|
* ia/ssl/tcp-error-handling/OTP-9734:
Send ssl_closed notification to active ssl user when a tcp error occurs
|
|
|
|
|
|
* ia/ssl/rizzoduong_beast_countermeasure/OTP-9757:
Implementation of 1/n-1 splitting countermeasure Rizzo/Duong-Beast
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
On my Mac, the highest successful value was 7673. The new value
provides some safety margin.
|
|
* bjorn/external-funs/OTP-9643:
sys_expand_pmod: Handle external funs in parameterized modules
|
|
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.
|
|
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.
|
|
|
|
gcc don't care about the type, but clang does and will issue
a warning.
|
|
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.
|
|
* 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
|
|
* siri/sasl/xxgrade_app-with-restart/OTP-9735:
Fix release_handler:upgrade_app and downgrade_app when upgrading emulator
|
|
* siri/sasl/dialyzer/OTP-9719:
Fix dialyzer warnings in release_handler
|
|
|
|
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
|
|
This suppresses the 'missing_sasl' warning from systools.
|
|
Mod:module_info(source_file) is no longer supported (and have not
been for a long time), so calling it will always fail.
|
|
The 'trace' and 'fast' options are no longer supported.
While at it, correct the comment about option filtering.
|
|
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.
|
|
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.
|