Age | Commit message (Collapse) | Author |
|
|
|
See also https://bugs.erlang.org/browse/ERL-634.
The utility program `erl_call' in erl_interface used to call
lib:eval_str/1, which is no longer present in Erlang/OTP 21.0.
The lib module was eliminated in OTP-15072, see also
https://github.com/erlang/otp/pull/1786.
|
|
ERL-629 Do not free() module buffer until it has been used
|
|
|
|
Compiling OTP-20.3.4 with GCC-7 generates the following warning:
CC /tmp/otp_src_20.3.4/lib/erl_interface/obj.st/x86_64-unknown-linux-gnu/erl_marshal.o
legacy/erl_marshal.c: In function 'erl_init_marshal':
legacy/erl_marshal.c:110:5: warning: 'memset' used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
memset(cmp_array, 0, CMP_ARRAY_SIZE);
^~~~~~
CMP_ARRAY_SIZE (256) is the number of elements in that array, but the
elements are not char but enum, which is 4 bytes on e.g. x86-64.
This results in 3/4 of the array not being correctly initialized.
Idiomatic C is to pass sizeof cmp_array to memset(), so that's what I did.
|
|
* sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023:
erl_interface: Optimize latin1_to_utf8 and friend
ic: Optimize oe_ei_encode_atom
|
|
to do word wise check/copy for pure ASCII
if ARCH allows it (x86 and amd64).
|
|
when ei_gethostbyname_r returns ERANGE.
|
|
|
|
|
|
* sverker/remove-latin1-atom-encoding:
kernel: Fix erl_distribution_wb_SUITE:whitebox
kernel: Remove pg2_SUITE:compat
erts: Remove fun_r13_SUITE
stdlib: Remove test cases for R12 io protocol
kernel: Make DFLAG_UTF8_ATOMS mandatory
kernel: Rewrite distribution flag verification
tools: Update assumptions in lcnt about external atom format
stdlib: Tweak beam_lib_SUITE whitebox assumptions
orber: Remove hard dependency to external atom format
kernel: Try mend disk_log whitebox tests
erts: Mark latin1 atom encoding as deprecated
jinterface: Do not generate atoms on old latin1 external format
erl_interface: Do not generate atoms on old latin1 ext format
erts: Do not generate atoms on old latin1 external format
erts: Fix faulty ASSERT for failed dec_term
|
|
* goeldeepak/erts/fix_inet_gethost_long/ERL-61/PR-1345/OTP-14310:
This patch fixes the issue in which erlang fails to start if the hostname is 64 characters on a linux system.
|
|
if the hostname is 64 characters on a linux system.
|
|
Solved by letting ei_encode_atom_as ignore 'to_enc' argument
and always encode in UTF8 format.
|
|
|
|
|
|
|
|
|
|
|
|
the same as erlexec do to set -home command argument
which is used to look for .erlang.cookie.
|
|
by separating WIN32 and other implementation more.
|
|
|
|
Reported-by: Peter Lemenkov
|
|
|
|
* henrik/update-copyrightyear:
update copyright-year
|
|
to let future nodes know that we can handle
NEW_PID_EXT, NEW_PORT_EXT and NEWER_REFERENCE_EXT.
|
|
|
|
|
|
|
|
192c4a80c broke the build on at least Debian/Hurd and Debian/kFreeBSD,
because it's not linux but still using glibc. To fix it, test for
__GLIBC__ in addition to __linux__.
|
|
This reverts commit 192c4a80c7d6fe9949aecb864901c4a3d9549f36.
This breaks on Debian/Hurd, Debian/kFreeBSD, and possibly other
platforms as well. Will be solved differently in a follow-up commit.
|
|
|
|
To fix conditional selection of the actually available gethostbyname_r
and gethostbyaddr_r, we replace __GLIBC__ with __linux__. @zenhack
tested this to work with gcc and clang targeting glibc, uclibc, musl,
and bionic.
The proper way to check this is through configure.in.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Erlang does not accept these values, so we return an error in the C
interface rather than letting them through to the Erlang VM, which
rejects the message with a somewhat cryptic "bad external term".
|
|
|
|
Distribute aclocal.m4, install-sh, config.guess, and config.sub
to applications at build time instead of having multiple identical
copies committed in the repository.
|
|
Turns out that isfinite emits a function call and not
an instruction in gcc, this makes estone float arith
about 50-75% slower. finite emits the instruction so
we use that instead.
|
|
OS X Mavericks builds result in a number of warnings about finite() being
deprecated, like these:
beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations]
ERTS_FP_ERROR(p, f1.fd, goto badarith);
^
sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR'
^
sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR'
^
/usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
Add checks to use isfinite() instead of finite() where available. Verified
on OS X Mavericks 10.9.5 and Ubuntu 12.04.
|
|
|
|
|
|
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
|
|
This is just a preparation to allow detection of older nodes
that do not understand maps (R16 and older).
|
|
|
|
|