Age | Commit message (Collapse) | Author |
|
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
|
|
The correct kstat datatype for nproc & avenrun_* is ui32, not
ulong. Under 64-bit OTP builds garbage was returned because the wrong
datatype was used.
This patch correcs the datatype. It also adds an additional check
in the test case for a slightly less insane return value.
|
|
|
|
Otherwise something like this will fail:
./otp_build setup --enable-m32-build
make clean
./otp_build setup --enable-m64-build
|
|
Trying to compile R16B01 on SmartOS resulted in following errors:
gcc -c -o ../priv/obj/i386-pc-solaris2.11/ferrule.o -Werror=return-type -g -O2 -I/root/otp_src_R16B01/erts/i386-pc-solaris2.11 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename -DHAVE_CONFIG_H ferrule.c
ferrule.c:53:1: error: return type defaults to 'int' [-Werror=return-type]
...
gcc -c -o ../priv/obj/i386-pc-solaris2.11/mod_syslog.o -Werror=return-type -g -O2 -I/root/otp_src_R16B01/erts/i386-pc-solaris2.11 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename -DHAVE_CONFIG_H mod_syslog.c
mod_syslog.c:50:1: error: return type defaults to 'int' [-Werror=return-type]
mod_syslog.c: In function 'make_exit':
mod_syslog.c:136:5: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
mod_syslog.c: In function 'main':
mod_syslog.c:131:1: error: control reaches end of non-void function [-Werror=return-type]
Adding return values and types to `main` functions in `mod_syslog.c` and
`ferrule.c` fixed the build.
|
|
|
|
|
|
taken from a pkgsrc patch: patch-lib_os__mon_c__src_memsup.c
|
|
With silent rules, the output of make is less verbose and compilation
warnings are easier to spot. Silent rules are disabled by default and
can be disabled or enabled at will by make V=0 and make V=1.
|
|
Conflicts:
lib/diameter/autoconf/vxworks/sed.general
xcomp/README.md
|
|
|
|
|
|
Try to avoid confusion of the message 'Erlang has closed' by
clarifying that the message is sent from os_mon port programs.
|
|
|
|
OTP-10106
OTP-10107
|
|
|
|
* av/maint-memsup:
Fix segmentation fault in memsup
OTP-9913
|
|
|
|
when /proc/meminfo does not include information about
buffers/cache (for instance inside OpenVZ container)
|
|
* dev:
Update copyright years
|
|
|
|
* dev:
gs: Update to modern type guards in examples
os_mon: Check results from fgets in cpu_sup
erts: Remove compiler warning in sys.c
|
|
|
|
Create directories first, not within implicit rules. If two
'install' instances runs at the same time attempting to create
a directory, one of them may fail with an "File exists" error.
I tried to use order-only prerequisites to create the directories,
but run into two problems: First, order-only prerequisites are
only implemented in Make 3.80 and later. Second, on a computer
running Solaris/Intel 2.8 (with Make 3.80), order-only prerequisites
seemed to work like ordinary prerequisites, causing targets to
be re-built if the timestamp for the directory changed.
Therefore, using a shell command to run mkdir seems to be the
more portable solution.
|
|
|