aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src
AgeCommit message (Collapse)Author
2018-07-18erl_interface: Initialize erl_errno to zeroSverker Eriksson
Makes valgrind happy.
2018-06-29Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Prepare release kernel: Fix tick count bug when pending writes kernel: Send tick to hidden node even if pending writes ic: Fix buffer overrun bug in oe_ei_encode_atom erl_interface: Fix simultaneous connection setup
2018-06-19erl_interface: Fix simultaneous connection setupSverker Eriksson
by also accepting status "ok_simultaneous".
2018-06-18Update copyright yearHenrik Nord
2018-06-07stdlib: Move eval_str/1 from mod_esi to erl_evalHans Bolinder
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.
2018-06-04Merge PR-1823 from jesperes/ERL-629-erl_call-free-before-use OTP-15105Sverker Eriksson
ERL-629 Do not free() module buffer until it has been used
2018-05-22ERL-629 Do not free() module buffer until it has been usedJesper Eskilson
2018-04-21erl_interface: fix bad memsetMikael Pettersson
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.
2018-04-19Merge branch 'sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023' into maint-20Erlang/OTP
* sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023: erl_interface: Optimize latin1_to_utf8 and friend ic: Optimize oe_ei_encode_atom
2018-04-19erl_interface: Optimize latin1_to_utf8 and friendSverker Eriksson
to do word wise check/copy for pure ASCII if ARCH allows it (x86 and amd64).
2018-04-18erl_interface: Fix ei_connectSverker Eriksson
when ei_gethostbyname_r returns ERANGE.
2017-10-31Add toplevel xmllint make targetLukas Larsson
2017-05-04Update copyright yearRaimo Niskanen
2017-04-12Merge branch sverker/remove-latin1-atom-encoding/OTP-14337Sverker Eriksson
* 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
2017-03-30Merge branch 'goeldeepak/erts/fix_inet_gethost_long/ERL-61/PR-1345/OTP-14310'Lukas Larsson
* 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.
2017-03-22This patch fixes the issue in which erlang fails to startDeepak Goel
if the hostname is 64 characters on a linux system.
2017-03-08erl_interface: Do not generate atoms on old latin1 ext formatSverker Eriksson
Solved by letting ei_encode_atom_as ignore 'to_enc' argument and always encode in UTF8 format.
2017-02-14Fixed typos in lib/erl_interfaceAndrew Dryga
2016-12-07erl_interface: Fix compile warning in erl_callBjörn-Egil Dahlberg
2016-10-13use only two low bits of creationAlexandre Snarskii
2016-08-30Merge branch 'sverker/erl_interface/vxworks-socklen_t' into maintSverker Eriksson
2016-08-19erl_interface: Fix faulty #if logicSverker Eriksson
2016-06-21erl_interface: Look for .erlang.cookie in windows directorySverker Eriksson
the same as erlexec do to set -home command argument which is used to look for .erlang.cookie.
2016-06-21erl_interface: Refactor get_home()Sverker Eriksson
by separating WIN32 and other implementation more.
2016-06-14erl_interface: Fix trace level tracing on windowsLukas Larsson
2016-06-13Fix decoding of LLONG_MIN in erl_decodeBjörn-Egil Dahlberg
Reported-by: Peter Lemenkov
2016-06-07erl_interface: Let struct iovec * be visibleBjörn-Egil Dahlberg
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-07erts: Add DFLAG_BIG_CREATIONSverker Eriksson
to let future nodes know that we can handle NEW_PID_EXT, NEW_PORT_EXT and NEWER_REFERENCE_EXT.
2016-04-07erl_interface: Support 32-bit creation for pid,port,refsSverker Eriksson
2016-03-15update copyright-yearHenrik Nord
2016-02-15Merge branch 'maint'Henrik Nord
2015-12-27ei: fix breakage reported by Sergei GolovanTuncer Ayaz
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__.
2015-12-27Revert "musl: fix gethostbyname_r/gethostbyaddr_ selection"Tuncer Ayaz
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.
2015-11-24Merge branch 'maint'Zandra
2015-11-14musl: fix gethostbyname_r/gethostbyaddr_ selectionTuncer Ayaz
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.
2015-07-10Remove OSE from erl_interfaceLukas Larsson
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-02erl_interface: Move math.h include after eidef.hBjörn-Egil Dahlberg
2015-06-02erl_interface: Surround isfinite with HAVE_ISFINITE conditionalBjörn-Egil Dahlberg
2015-06-02erl_interface: Move isfinite definition to headerBjörn-Egil Dahlberg
2015-06-02erl_interface: Use isfinite instead of fpclassifyBjörn-Egil Dahlberg
2015-03-19Do not accept Nan and Infinity valuesDavid N. Welton
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".
2014-12-08Add .appup fileRickard Green
2014-12-02Distribute autoconf helpersRickard Green
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.
2014-11-24erts: Use finite instead of isfinite with gccLukas Larsson
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.
2014-10-28Use isfinite() instead of finite() when availableAnthony Ramine
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.
2014-09-19Add erl_interface and jinterface .app filesRickard Green
2014-08-25Fix misspellings of 'another'Tuncer Ayaz
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