Age | Commit message (Collapse) | Author |
|
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.
|
|
bmk/snmp/snmp4213_integration
|
|
|
|
bmk/snmp/snmp4213_integration
|
|
The short warning option was incorrectly '--w', instead
of as documented '--W'. This has now been corrected.
Tuncer Ayaz
OTP-9718
|
|
bmk/snmp/snmp4213_integration
|
|
MIB compiler frontend escript.
OTP-9618
|
|
into bmk/snmp/snmp4213_integration
|
|
snmpUnknownPDUHandlers, the agent used the wrong OID.
OTP-9747
|
|
bmk/snmp/snmp4213_integration
|
|
OTP-9745
|
|
subagents. Due to a bug in the test code, this was not discovered,
until that bug was fixed.
OTP-9745
|
|
bmk/snmp/snmp4213_integration
|
|
OTP-9748
|
|
Also added more printouts to make it easier to follow the flow
of the test. In the same spirit, changed the tags in some of
the test cases so that it would be possible to distinguish one
expect call form another (not always possible since some
functions are used by several test cases).
OTP-9748
|
|
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.
|
|
|
|
|
|
* bjorn/remove-regexp-module/OTP-9737:
stdlib: Remove the deprecated regexp module
|
|
the inets and snmp apps.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|