Age | Commit message (Collapse) | Author |
|
* siri/sasl/duplicate-rel-file/OTP-9746:
Add copy of rel file in releases/<vsn> in release tar file
|
|
* bjorn/llvm-issues/OTP-9712:
INSTALL.md: Update build instructions for Lion
Fix clang linking problem
configure: Define NO_JUMP_TABLE if all we have is llvm-gcc
beam_emu.c: Eliminate warnings when NO_JUMP_TABLE is defined
beam_emu.c: Use the correct void* type for computed gotos
MacOS X: Completely remove obsolete -no-cpp-precomp option
|
|
* siri/stdlib/dialyzer-log_mf_h/OTP-9754:
Fix dialyzer warning about gen_event callback init/1 in log_mf_h
|
|
The warning is about log_mf_h having a different spec for gen_event
callback init/1 than defined in gen_event.erl. log_mf_h allows return
value {error,Reason}, while gen_even only specifies successful return
values.
This commit add {error,Reason} as a valid return value to the
gen_event callback, since this is handled by the code.
|
|
* bjorn/erts/remove-useless-variable:
erl_process.c: Remove the redundant variable 'processes_busy'
Update primary bootstrap
otp_internal: Deprecate ssl:pid/1
|
|
* ac/xpath-scan:
Treat , as special in xmerl_xpath_scan.
OTP-9753
|
|
|
|
* 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
|
|
|
|
|
|
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/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.
|
|
* bjorn/external-funs/OTP-9643:
sys_expand_pmod: Handle external funs in parameterized modules
|
|
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
|
|
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.
|
|
|
|
* bjorn/remove-regexp-module/OTP-9737:
stdlib: Remove the deprecated regexp module
|
|
|
|
|
|
When a new built-in type is introduced, type definitions with the
same name will still be allowed for "a while".
|
|
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.
|
|
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
|
|
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
|
|
|
|
This option will suppress the 'missing-sasl' warning which otherwise
is issued when compiling a .rel file which does not include the sasl
application.
|
|
* ia/ssl/renegotiation-dos-attack/OTP-9739:
Mitigate Computational DoS attack
|
|
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.
|
|
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.
|
|
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
|
|
|
|
|