aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
2014-03-26ose: Fix erts assert failed printoutsLukas Larsson
2014-03-26ose: fix for packet_bytes in fd/spawn driver.Jonas Karlsson
2014-03-26ose: Fix bug when hunting for signal proxyLukas Larsson
Sometimes the wrong signal, i.e. a read reply, would be received from this non-selective receive.
2014-03-26ose: Implement tcp inet driver for OSELukas Larsson
The inet driver for OSE has to handle signals instead of selects and thus the wrappers for ready_input/output are a little bit different. However the majority of the inet code remains the same.
2014-03-26ose: Add ifdefs for HAVE_UDPLukas Larsson
2014-03-26ose: Yielding has to be done differently for background processes.Robert Paal
2014-03-26ose: Print faults in aio sys driver callsLukas Larsson
2014-03-26ose: Prinout errno when to_erl read failsLukas Larsson
2014-03-26ose: erlang display goes to ramlog printfLukas Larsson
2014-03-26ose: Initiate stdin/stdout/stderrLukas Larsson
Needed to get std io to work in some OSE systems where stdio is not opened when the program starts.
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson
2014-03-25Merge branch 'sverk/maps_remove_bug'Sverker Eriksson
* sverk/maps_remove_bug: erts: Fix heap overflow in maps:remove/2 when key is not found
2014-03-25Merge branch 'sverk/win-warning-io'Sverker Eriksson
* sverk/win-warning-io: erts: Fix compile warning in io.c for windows
2014-03-25erts: Fix compile warning in io.c for windowsSverker Eriksson
2014-03-25Merge branch 'paulgray/dtrace_snprintf_fix/OTP-11816'Lukas Larsson
* paulgray/dtrace_snprintf_fix/OTP-11816: Fix DTrace/SystemTap-related formatting
2014-03-25Fix DTrace/SystemTap-related formattingScott Lystig Fritchie
Thanks to Michał Ptaszek for bringing this embarrassing formatting error to my attention. Many DTrace/SystemTap trace strings are incorrectly truncated at 4/8 bytes, depending on the CPU word size. This patch expands the work from commit d032e097 by zheng siyao. Michał's report to the erlang-bugs list can be found at: http://erlang.org/pipermail/erlang-bugs/2014-March/004250.html Conflicts: erts/emulator/beam/beam_emu.c erts/emulator/beam/copy.c erts/emulator/beam/dist.c erts/emulator/beam/erl_async.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/io.c
2014-03-25Merge branch 'vladdu/unicode_parameters_doc'Siri Hansen
* vladdu/unicode_parameters_doc: Specify that +fn* flags affect even command-line parameters and environment variables OTP-11818
2014-03-25Merge branch 'paulgray/dtrace_snprintf_fix/OTP-11816'Lukas Larsson
* paulgray/dtrace_snprintf_fix/OTP-11816: Pass full strings to DTrace probes
2014-03-25Merge branch 'siri/release-name/OTP-11736'Siri Hansen
* siri/release-name/OTP-11736: Update primary bootstrap Change release name from "OTP APN 181 01" to "Erlang/OTP"
2014-03-25Merge branch 'bjorn/erts/zlib-fix'Björn Gustavsson
* bjorn/erts/zlib-fix: zlib: Fix adler32_combine/4 and crc32_combine/4
2014-03-24Merge branch 'sverk/halfword-deprecate/OTP-11777'Sverker Eriksson
* sverk/halfword-deprecate/OTP-11777: erts: Deprecate halfword emulator
2014-03-24Merge branch 'sverk/win-long-filenames/OTP-11813'Sverker Eriksson
* sverk/win-long-filenames/OTP-11813: erts: Cleanup debug tracing in win_efile.c erts: Fix file:list_dir for windows paths 258 or 259 chars long erts: Increase MAXPATHLEN to 4096 for windows erts: Fix bug in efile_readlink for long win paths kernel: Fix failed tests in prim_file_SUITE for windows erts: Fix compiler warning in win_efile.c erts: Skip tests of paths longer than 255 characters as atoms erts: Skip tests of file:set_cwd for too long path on Windows erts: Make file:make_symlink/2 return {error,eperm} on Windows erts: Revert file:set_cwd impl for windows erts: Ignore reduntant slashes in windows paths fix file_SUITE:cur_dir_0 for long windows paths erts: Fix file_SUITE:make_del_dir for long paths erts: Fix long windows paths for compressed files erts: Use GetFullPathNameW to construct abs paths from relative ones erts: Fix file driver to handle long paths on windows Conflicts: erts/emulator/drivers/win32/win_efile.c
2014-03-24erts: Cleanup debug tracing in win_efile.cSverker Eriksson
2014-03-24erts: Fix file:list_dir for windows paths 258 or 259 chars longSverker Eriksson
Appending wildcard "\*" made the path too long (>= 260 chars).
2014-03-24erts: Increase MAXPATHLEN to 4096 for windowsSverker Eriksson
2014-03-24erts: Fix bug in efile_readlink for long win pathsSverker Eriksson
2014-03-24erts: Fix compiler warning in win_efile.cSverker Eriksson
and some improved debug tracing
2014-03-24erts: Make file:make_symlink/2 return {error,eperm} on WindowsSverker Eriksson
if the user has not the privilege SE_CREATE_SYMBOLIC_LINK_NAME
2014-03-24Specify that +fn* flags affect even command-line parameters and environment ↵Vlad Dumitrescu
variables
2014-03-23ose: Reset busy port when pdq emptyLukas Larsson
2014-03-23ose: Restore the owner of the signalAdrian Mangeac
As any scheduler process can consume any message we have to make sure that the message is owned by the scheduler before returning it in erl_drv_ose_get_signal.
2014-03-21Merge branch 'nox/reedr-closefrom'Henrik Nord
* nox/reedr-closefrom: Use closefrom(2) when available in child_setup Conflicts: erts/emulator/sys/unix/erl_child_setup.c OTP-11809
2014-03-21Merge branch 'glacjay/epmd-argv'Henrik Nord
* glacjay/epmd-argv: ensure argv large enough for all possible args OTP-11808
2014-03-21Merge branch 'fogfish/embedded-arm-android'Henrik Nord
* fogfish/embedded-arm-android: Raspberry PI / Android a minimal cross-compile configuration OTP-11805
2014-03-21erts: Fix heap overflow in maps:remove/2 when key is not foundSverker Eriksson
One key-value pair too many was copied.
2014-03-21Merge branch 'yiannist/hipe-llvm-backend'Henrik Nord
* yiannist/hipe-llvm-backend: Support the LLVM backend in HiPE Implement the LLVM backend Extend RTL API to support the LLVM backend Add support for llvm unique symbols in hipe_gensym Add a BIF that only returns the atom ok Move some common code in hipe_pack_constants Add better specs in hipe_pack_constants and cleanup OTP-11801
2014-03-21Change release name from "OTP APN 181 01" to "Erlang/OTP"Siri Hansen
2014-03-21zlib: Fix adler32_combine/4 and crc32_combine/4Björn Gustavsson
Since our config.h is included in each source file in the zlib directory, we must make sure that config.h is also included every time zlib functions are called to ensure that definitions of types are consistent. zlib_drv.c did not include config.h, which caused problems on a MacOS X Leopard system. What happened was that HAVE_UNISTD_H was not defined when zlib.h was included. When unistd.h is not known to exist, the type z_off_t will be set to a long (32 bits on this platform). But when the zlib source files were compiled, HAVE_UNISTD_H was defined, unistd.h would be included, and z_off_t would be set to off_t (64 bits; defined in unistd.h). As a result of the mismatch, calls to the adler32_combine() and crc32_combine() would pass only 32 bits in the len2 argument when 64 bits were expected.
2014-03-21Introduce minimum allowed major driver and nif versions on loadRickard Green
2014-03-21Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
2014-03-20Verify runtime_dependencies when running 'otp_build patch_app'Rickard Green
2014-03-20Add test-case verifying runtime dependencies found by xrefRickard Green
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-03-20Merge branch 'vinoski/ds-enif-send'Rickard Green
* vinoski/ds-enif-send: enable enif_send to work from a dirty scheduler
2014-03-20Merge branch 'bjorn/erts/fix-lingering-tracer'Björn Gustavsson
* bjorn/erts/fix-lingering-tracer: Teach the call_time trace to notice when the trace dies (non-SMP system)
2014-03-20Teach the call_time trace to notice when the trace dies (non-SMP system)Björn Gustavsson
The call_time trace is a special kind of tracing that requires a tracer process just like ordinary call trace, but it never actually sends anything to the tracer. It merely use the existence of a trace process (and call trace flags) as an indication that call_time tracing is active for the process. If the tracer dies in a non-SMP run-time system, processes with call_time tracing would not notice that the tracer had died. Furthermore, if the set_on_spawn flag was active, the dead tracer could be propagaged to newly spawned processes. Before accumulating trace information in a non-SMP system, always validate the tracer process. (In an SMP system, a reference to a dead tracer will be cleared away each time a process is scheduled.) While we could put all of the new code beam_bp.c, we have chosen to make a function call from beam_bp.c to a function in erl_trace.c for clarity's sake and to ease further maintenance. In the future, we might want to handle tracing in more similar ways in the SMP and non-SMP system.
2014-03-20Merge branch 'siri/master-cuddle-with-tests'Siri Hansen
* siri/master-cuddle-with-tests: Remove "coding: utf-8" from test files Change encoding for XML files to utf-8
2014-03-19Merge branch 'cobusc/correct_comment'Henrik Nord
* cobusc/correct_comment: Fix comment that differs from code OTP-11793
2014-03-18Merge branch 'egil/maps-literals'Björn-Egil Dahlberg
* egil/maps-literals: compiler: Transform M#{} to is_map(M) dialyzer: Do not native compile modules with Maps code hipe: Properly identify map() type form terms stdlib: Test Map key linting stdlib: Accept records as Map keys stdlib: Accept Maps as Map keys stdlib: Move map type to proper definition stdlib: Properly lint map key expressions compiler: Change #c_map{var} to #c_map{arg} compiler: Constant fold Maps that are safe compiler: Validate Map src compiler: Support literal maps in cerl_clauses:match/2 compiler: Guard BIF is_map/1 is pure erts: Handle literals in is_map/1 compiler: Change Maps Core Format compiler: Create literal Maps in creation if possible