Age | Commit message (Collapse) | Author |
|
|
|
Appending wildcard "\*" made the path too long (>= 260 chars).
|
|
|
|
|
|
and some improved debug tracing
|
|
if the user has not the privilege SE_CREATE_SYMBOLIC_LINK_NAME
|
|
variables
|
|
|
|
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.
|
|
* nox/reedr-closefrom:
Use closefrom(2) when available in child_setup
Conflicts:
erts/emulator/sys/unix/erl_child_setup.c
OTP-11809
|
|
* glacjay/epmd-argv:
ensure argv large enough for all possible args
OTP-11808
|
|
* fogfish/embedded-arm-android:
Raspberry PI / Android a minimal cross-compile configuration
OTP-11805
|
|
One key-value pair too many was copied.
|
|
* 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
|
|
|
|
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.
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
* vinoski/ds-enif-send:
enable enif_send to work from a dirty scheduler
|
|
* bjorn/erts/fix-lingering-tracer:
Teach the call_time trace to notice when the trace dies (non-SMP system)
|
|
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.
|
|
* siri/master-cuddle-with-tests:
Remove "coding: utf-8" from test files
Change encoding for XML files to utf-8
|
|
* cobusc/correct_comment:
Fix comment that differs from code
OTP-11793
|
|
* 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
|
|
* lukas/erts/make_deps_fixes/OTP-11784:
erts: Fix resolve of generated files for depend
erts: Move compiler flags generation
|
|
|
|
These are some files that were erronously missed earlier:
erts/doc/src/time_correction.xml
lib/crypto/doc/src/crypto_app.xml
lib/snmp/doc/src/snmpa_mib_data.xml
lib/snmp/doc/src/snmpa_mib_storage.xml
|
|
* erlang:is_map/1
* erlang:map_size/1
|
|
|
|
* sverk/maps-erl_interface:
erts: Add distribution capability flag for maps DFLAG_MAP_TAG
erts: Change external format for maps
erts: Document external format for maps (MAP_EXT)
erl_interface: Add test for ei_skip_term of container terms
erl_interface: Add map support in ei_skip_term
erl_interface: Fix mem leak in ei_decode_encode_test
erl_interface: test decode/encode of maps
erl_interface: Add ei encode/decode for maps
erl_interface: test decode_encode of tuples and lists
erl_interface: refactor ei_decode_encode_test.c
|
|
This is just a preparation to allow detection of older nodes
that do not understand maps (R16 and older).
|
|
to be: 116,Arity, K1,V1,K2,V2,...,Kn,Vn
instead of: 116,Arity, K1,K2,...,Kn, V1,V2,....,Vn
We think this will be better for future internal map structures
like HAMT. Would be bad if we need to iterate twice over HAMT
in term_to_binary, one for keys and one for values.
|
|
* sverk/valgrind-leaks:
erts: Suppress false leak in hipe_thread_signal_init
erts: Fix leak in nif_SUITE:resource_takeover (again)
|
|
|
|
No need to even try as CWD can not bee a long path anyway.
|
|
|
|
|
|
|
|
|
|
Whenever string is passed as an argument to a DTrace probe, its length
should be properly computed. Until now in order to get length of the
input buffer size_of(char *) was used - which evalutes to 4 or 8
(depending on the architecture). To get a proper length,
size_of(DTRACE_CHARBUF_NAME(buffer_name)) should be used.
|
|
A note has been added that clarifies that the encoding of
the I/O-server has to be set explicitly, irrespective of
any encoding comment.
|
|
|
|
|
|
|
|
It pollutes the output of silent rules.
|
|
A call in llvm_fix_pinned_regs/0 is inserted in the beginning of LLVM unwind
blocks (i.e. code executed when an LLVM 'invoke' call triggers an exception)
in order to get the BP and SP registers right. This is needed because LLVM
exception handling doesn't provide the return value (that also contains the
values for these registers, as defined in the HiPE Calling Convention for
LLVM) on the 'landingpad's.
|
|
The comment in the code state that the tree is traversed to the left,
when in fact it is traversed to the right.
|