Age | Commit message (Collapse) | Author |
|
|
|
* nox/enable-silent-rules/OTP-10726:
Implement ./otp_build configure --enable-silent-rules
|
|
With silent rules, the output of make is less verbose and compilation
warnings are easier to spot. Silent rules are disabled by default and
can be disabled or enabled at will by make V=0 and make V=1.
|
|
* ignore /lib/hipe/boot_ebin/hipe.app
* ignore /lib/hipe/boot_ebin/hipe.appup
|
|
|
|
|
|
|
|
|
|
|
|
Moved public_key ignores to .gitignore in public_key and removed
no longer needed ssl ignores.
|
|
Multiple instances of javadoc would be started at once, which is
unnecessary work and could cause one or more instances to fail
while creating directories. Use a stand-in file (JAVADOC-GENERATED)
to ensure that only one instance of javadoc is started.
Since javadoc creates directories itself, there is no need to
explicitly create the $(JAVA_OUT_DIR) directory.
|
|
* dev:
tar_SUITE: Work around limited pathname length on Windows
Merge the fourth bootstrap stage into the third bootstrap stage
Remove unused lib/orber/include/Makefile
Remove lib/orber/include/* from the primary bootstrap
otp_build update_primary: Don't commit generated source files
primary bootstrap: Remove source files
Conflicts:
Makefile.in
bootstrap/bin/start.script
bootstrap/bin/start_clean.script
bootstrap/lib/compiler/ebin/compiler.app
bootstrap/lib/compiler/egen/beam_opcodes.erl
bootstrap/lib/compiler/egen/core_parse.erl
bootstrap/lib/kernel/ebin/kernel.app
bootstrap/lib/kernel/ebin/kernel.appup
bootstrap/lib/orber/include/Makefile
bootstrap/lib/orber/include/corba.hrl
bootstrap/lib/orber/include/orber_pi.hrl
bootstrap/lib/stdlib/ebin/stdlib.app
bootstrap/lib/stdlib/ebin/stdlib.appup
bootstrap/lib/stdlib/egen/erl_parse.erl
|
|
The include files for orber are included in the primary bootstrap,
probably for historical reasons. They are not needed there, because
no applications compiled in the secondary bootstrap need them.
Therefore, install the lib/orber/include/* in the bootstrap at
the end of the second bootstrap stage.
|
|
Don't commit generated source files to the primary bootstrap.
|
|
One input file that generate multiple output file are tricky to
handle in make. One way is to use a stand-in to represent all the
other generated files.
|
|
|
|
|
|
* pg/fix-hibernate-with-hipe:
Update copyright years
Fix NULL-free bug in hibernate on debug emulator
Fix several bugs related to hibernate/3 and HiPE
Conflicts:
erts/emulator/test/hibernate_SUITE.erl
OTP-9125
|
|
line tool. Also updated the central .gitignore file.
|
|
This commit fixes four related bugs:
- calling hibernate/3 using a dynamic call would fail with badarg
as hibernate/3 as a BIF was not implemented. hibernate/3 is generally
provided as a Beam instruction, and code is translated to use this
instruction when loaded.
- calling hibernate/3 from HiPE would fail with badarg because this
would call the aforementioned BIF which was not implemented.
- calling hibernate/3 with some HiPE-native garbage in the process heap
would randomly crash at the next garbage collect. This bug only
happened in a complex, yet reproduceable scenarios, where native code
calls beam code that calls hibernate/3, and the process has some
garbage when being hibernated and the process generates garbage when
awaken.
- when entering HiPE, the process current_function can be set and be
inaccurate.
The fix is three folded:
- hibernate_3 BIF now actually works instead of throwing a badarg. While
hibernate_3 BIF was (usually) not called from BEAM, it is called from
HiPE. hibernate behaviour is very close to the scheduler and this is why
it is implemented as an instruction in BEAM. The fix consists in doing
the actual hibernation (through the now exported erts_hibernate
function) and setting the process flag to TRAP as well as the process
status to P_WAITING. On BIF epilogue in both BEAM and HiPE, this status
is tested on TRAP and if set, the scheduler is invoked. The i_hibernate
instruction and translation code is now redundant and could be deleted.
- hibernation now also empties the HiPE native stack, with a new
function hipe_empty_nstack provided by Mikael Pettersson.
- when entering HiPE through hipe_mode_switch, p->current is cleared,
as suggested by Mikael Pettersson. p->current normally hold a pointer to
the {M,F,A} of the current function if it exists. When hibernating, it
is set to {erlang,hibernate,3}, and all stdlib hibernate tests
(gen_server_SUITE:hibernate/1, proc_lib_suite:hibernate/1, etc.)
actually rely on this information. Clearing p->current fixes the tests
and avoids the surprise one might have when querying the process info
of a process that hibernated and woke up in a native function.
Non-regression tests are provided, a test for the dynamic call as well
as a Makefile-handled duplication of the hibernate_SUITE into
hibernate_native_SUITE for the HiPE case.
|
|
Ignore vim tmp-files
|
|
* bw/gitignore:
Add win32 specific build artifacts to .gitignore
|
|
This was intended for distributing several binaries in one package,
in standalone version, it has no need when included in otp.
|
|
|
|
|
|
|
|
|
|
|
|
Clone some test suites and compile them with the 'inline' option
to test inlining more thorughly.
|
|
* bg/compiler-remove-r11-support:
compiler: Don't support the no_binaries option
erts: Don't support the put_string/3 instruction
compiler: Don't support the no_constant_pool option
compiler: Don't support the r11 option
test_server: Don't support communication with R11 nodes
binary_SUITE: Don't test bit-level binary roundtrips with R11 nodes
erts: Test compatibility of funs with R12 instead of R11
OTP-8531 bg/compiler-remove-r11-support
|
|
|
|
The r11 option was used to generate BEAM modules that could
loaded both on both R11 and R12/R13 to facilitate testing
that R11 and R13 nodes could communicate with each other.
Since R14 is only required to be compatible with R12 and
R13 nodes, the r11 option is no longer needed.
|
|
The INSTALL.md, INSTALL-CROSS.md, and INSTALL-WIN32.md "readme files" are
now included in both the HTML and the PDF documentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The .gitignore files ignores everything in the bootstrap/bin
directory, includ checked-in *.boot and *.script files.
That makes it impossible to check in updates to those files
without using the -f (force option) with "git add".
Fix this by adding a negated pattern for script and boot files.
|
|
|