aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src
AgeCommit message (Collapse)Author
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
2014-03-14erts: Add distribution capability flag for maps DFLAG_MAP_TAGSverker Eriksson
This is just a preparation to allow detection of older nodes that do not understand maps (R16 and older).
2014-03-10erl_interface: Add map support in ei_skip_termSverker Eriksson
2014-03-06erl_interface: Add ei encode/decode for mapsSverker Eriksson
2014-01-20(memcheck) Uninitialized structure in gen_challengeOlivier Girondel
2013-12-02Silence two warnings about tests being always trueAnthony Ramine
encode/encode_ulonglong.c:55:25: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare] if ((p < 256) && (p >= 0)) { ~ ^ ~ legacy/erl_marshal.c:293:24: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare] if ((ul < 256) && (ul >= 0)) { ~~ ^ ~
2013-12-02Conditionally compile my_gethostbyname_r and my_gethostbyaddr_rAnthony Ramine
These are not needed when not on VXWORKS or without _REENTRANT. connect/ei_resolve.c:302:24: warning: unused function 'my_gethostbyname_r' [-Wunused-function] static struct hostent *my_gethostbyname_r(const char *name, ^ connect/ei_resolve.c:360:24: warning: unused function 'my_gethostbyaddr_r' [-Wunused-function] static struct hostent *my_gethostbyaddr_r(const char *addr, ^
2013-12-02Silence a mismatching type pointer warning in ei_resolveAnthony Ramine
Why we are assigning a pointer to pointer to char to a pointer to char baffles me. The warning is: connect/ei_resolve.c:229:11: warning: incompatible pointer types assigning to 'char *' from 'char **'; dereference with * [-Wincompatible-pointer-types] *pptr = src_aliases; ^ ~~~~~~~~~~~ *
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-08-29ei ic: install headers and libs into usrLukas Larsson
2013-05-08erl_interface: check if file descriptor is valid before closingFredrik Gustafsson
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22Merge branch 'sverk/erlang_pid-revert'Sverker Eriksson
* sverk/erlang_pid-revert: erl_interface: Fix some warnings in test code erl_interface,ic: Remove node_org_enc from erlang_{pid,port,ref}
2013-02-18erl_interface,ic: Remove node_org_enc from erlang_{pid,port,ref}Sverker Eriksson
in order to be backward compatible with user code that accesses the members of erlang_pid and friend. The documentation does not mention the content of these structs, but we have example code that does. So the safe way it the revert the node_org_enc field (added in R16A) and instead determine in runtime which atom encoding to use depending on if the node atom contains unicode (>255) characters or not.
2013-02-14Update config.guess and config.sub to latest versionsLukas Larsson
2013-02-11erl_interface: Fixup of b069306, typdef enum erlang_char_encodingSverker Eriksson
2013-02-08Merge branch 'sverk/erl_interface-enum-typedef'Sverker Eriksson
* sverk/erl_interface-enum-typedef: erl_interface: Change enum erlang_char_encoding to a typedef
2013-02-07erl_interface: Change enum erlang_char_encoding to a typedefSverker Eriksson
to make the API independent of the actual type of erlang_char_encoding
2013-01-30erl_interface: Fix ei_skip_termSverker Eriksson
2013-01-28Merge branch 'lukas/erl_interface/test_atom_as_functions/OTP-10753'Lukas Larsson
* lukas/erl_interface/test_atom_as_functions/OTP-10753: Return if size test fails Add utf8 atom encode and decode testcases Validate UTF8/ASCII when buf is NULL
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-25Return if size test failsLukas Larsson
This is needed in order to avoid potential buffer overruns in the encode functions
2013-01-25Validate UTF8/ASCII when buf is NULLLukas Larsson
2013-01-23Merge branch 'sverk/r16/utf8-atoms'Sverker Eriksson
* sverk/r16/utf8-atoms: erl_interface: Fix bug when transcoding atoms from and to UTF8 erl_interface: Changed erlang_char_encoding interface erts: Testcase doing unicode atom printout with ~w erl_interface: even more utf8 atom stuff erts: Fix bug in analyze_utf8 causing faulty latin1 detection Add UTF-8 node name support for epmd workaround... Fix merge conflict with hasse UTF-8 atom documentation test case erl_interface: utf8 atoms continued Add utf8 atom distribution test cases atom fixes for NIFs and atom_to_binary UTF-8 support for distribution Implement UTF-8 atom support for jinterface erl_interface: Enable decode of unicode atoms stdlib: Fix printing of unicode atoms erts: Change internal representation of atoms to utf8 erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity Conflicts: erts/emulator/beam/io.c OTP-10753
2013-01-23erl_interface: Fix bug when transcoding atoms from and to UTF8Lukas Larsson
2013-01-23erl_interface: Changed erlang_char_encoding interfaceSverker Eriksson
to allow bitwise-or'd combinations.
2013-01-22erl_interface: even more utf8 atom stuffSverker Eriksson