diff -c -r -b old/erts/configure new/erts/configure *** old/erts/configure Tue Jun 10 13:03:32 2008 --- new/erts/configure Tue Jun 17 17:44:52 2008 *************** *** 5444,5451 **** echo $ECHO_N "checking for extra flags needed to export symbols... $ECHO_C" >&6 DEXPORT="" case $host_os in ! aix4*) DEXPORT=-Wl,-bexpall,-brtl ;; bsdi*) DEXPORT="-rdynamic " --- 5444,5455 ---- echo $ECHO_N "checking for extra flags needed to export symbols... $ECHO_C" >&6 DEXPORT="" case $host_os in ! aix*) ! if test "x$GCC" = xyes; then DEXPORT=-Wl,-bexpall,-brtl + else + DEXPORT="-bexpall -brtl" + fi ;; bsdi*) DEXPORT="-rdynamic " *************** *** 9077,9083 **** _ACEOF ;; ! aix4*) # AIX version also needs "struct hostent_data" defn cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ --- 9081,9087 ---- _ACEOF ;; ! aix*) # AIX version also needs "struct hostent_data" defn cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ *************** *** 20409,20416 **** solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix4*) ! DED_LDFLAGS="-G -bnoentry -bexpall" ;; freebsd2*) # Non-ELF GNU linker --- 20413,20420 ---- solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix*) ! DED_LDFLAGS="-bnoentry -bexpall -G" ;; freebsd2*) # Non-ELF GNU linker diff -c -r -b old/erts/configure.in new/erts/configure.in *** old/erts/configure.in Tue Jun 10 07:47:31 2008 --- new/erts/configure.in Tue Jun 17 17:51:02 2008 *************** *** 630,637 **** AC_MSG_CHECKING(for extra flags needed to export symbols) DEXPORT="" case $host_os in ! aix4*) DEXPORT=-Wl,-bexpall,-brtl ;; bsdi*) DEXPORT="-rdynamic " --- 630,641 ---- AC_MSG_CHECKING(for extra flags needed to export symbols) DEXPORT="" case $host_os in ! aix*) ! if test "x$GCC" = xyes; then DEXPORT=-Wl,-bexpall,-brtl + else + DEXPORT="-bexpall -brtl" + fi ;; bsdi*) DEXPORT="-rdynamic " *************** *** 1018,1024 **** AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_SOLARIS, [Define to flavour of gethostbyname_r]) ;; ! aix4*) # AIX version also needs "struct hostent_data" defn AC_TRY_COMPILE([#include ], [struct hostent_data hd;], --- 1022,1028 ---- AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_SOLARIS, [Define to flavour of gethostbyname_r]) ;; ! aix*) # AIX version also needs "struct hostent_data" defn AC_TRY_COMPILE([#include ], [struct hostent_data hd;], *************** *** 2718,2725 **** solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix4*) ! DED_LDFLAGS="-G -bnoentry -bexpall" ;; freebsd2*) # Non-ELF GNU linker --- 2722,2729 ---- solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix*) ! DED_LDFLAGS="-bnoentry -bexpall -G" ;; freebsd2*) # Non-ELF GNU linker diff -c -r -b old/erts/emulator/sys/common/erl_check_io.c new/erts/emulator/sys/common/erl_check_io.c *** old/erts/emulator/sys/common/erl_check_io.c Tue Mar 4 09:56:00 2008 --- new/erts/emulator/sys/common/erl_check_io.c Mon Jun 16 17:02:50 2008 *************** *** 26,31 **** --- 26,35 ---- # include "config.h" #endif + #ifdef _AIX + #include + #endif + #define ERL_CHECK_IO_C__ #define ERTS_WANT_BREAK_HANDLING #ifndef WANT_NONBLOCKING diff -c -r -b old/erts/etc/unix/run_erl.c new/erts/etc/unix/run_erl.c *** old/erts/etc/unix/run_erl.c Tue Jun 10 07:47:25 2008 --- new/erts/etc/unix/run_erl.c Mon Jun 16 17:18:23 2008 *************** *** 1062,1067 **** --- 1062,1071 ---- va_list args; va_start(args, format); + #ifdef _AIX + #define NO_SYSLOG + #endif + #ifndef NO_SYSLOG if (run_daemon) { vsyslog(priority,format,args); diff -c -r -b old/erts/lib_src/common/erl_printf_format.c new/erts/lib_src/common/erl_printf_format.c *** old/erts/lib_src/common/erl_printf_format.c Mon Nov 26 13:00:22 2007 --- new/erts/lib_src/common/erl_printf_format.c Mon Jun 16 15:16:20 2008 *************** *** 460,469 **** case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': c = c - '0'; ! if ((*ptr >= 0) && (*ptr <= 7)) { c = (c << 3) | (*ptr - '0'); ptr++; ! if ((*ptr >= 0) && (*ptr <= 7)) { c = (c << 3) | (*ptr - '0'); ptr++; } --- 460,469 ---- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': c = c - '0'; ! if ((*ptr >= '0') && (*ptr <= '7')) { c = (c << 3) | (*ptr - '0'); ptr++; ! if ((*ptr >= '0') && (*ptr <= '7')) { c = (c << 3) | (*ptr - '0'); ptr++; } diff -c -r -b old/lib/erl_interface/src/connect/ei_resolve.c new/lib/erl_interface/src/connect/ei_resolve.c *** old/lib/erl_interface/src/connect/ei_resolve.c Mon Apr 7 08:58:07 2008 --- new/lib/erl_interface/src/connect/ei_resolve.c Mon Jun 16 17:33:14 2008 *************** *** 626,632 **** --- 626,646 ---- return result; #else + #ifdef _AIX + + /* buffer must be big enough or call is invalid */ + if (buflen < sizeof(struct hostent_data)) { + *h_errnop = EINVAL; + return 0; + } + /* Make the call. If happy, return hostp */ + if (*h_errnop = gethostbyname_r(name, hostp, (struct hostent_data*)buffer)) + return 0; + return hostp; + + #else return gethostbyname_r(name,hostp,buffer,buflen,h_errnop); + #endif #endif #endif #endif diff -c -r -b old/lib/megaco/configure new/lib/megaco/configure *** old/lib/megaco/configure Tue Jun 10 13:03:13 2008 --- new/lib/megaco/configure Mon Jun 16 19:47:29 2008 *************** *** 3398,3405 **** solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix4*) DED_LDFLAGS="-G -bnoentry -bexpall" ;; freebsd2*) # Non-ELF GNU linker --- 3398,3409 ---- solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix*) ! if test "x$GCC" = xyes; then ! DED_LDFLAGS="-Wl,-G,-bnoentry,-bexpall" ! else DED_LDFLAGS="-G -bnoentry -bexpall" + fi ;; freebsd2*) # Non-ELF GNU linker diff -c -r -b old/lib/megaco/configure.in new/lib/megaco/configure.in *** old/lib/megaco/configure.in Wed May 3 03:20:09 2006 --- new/lib/megaco/configure.in Mon Jun 16 19:45:46 2008 *************** *** 104,111 **** solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix4*) DED_LDFLAGS="-G -bnoentry -bexpall" ;; freebsd2*) # Non-ELF GNU linker --- 104,115 ---- solaris2*|sysv4*) DED_LDFLAGS="-G" ;; ! aix*) ! if test "x$GCC" = xyes; then ! DED_LDFLAGS="-Wl,-G,-bnoentry,-bexpall" ! else DED_LDFLAGS="-G -bnoentry -bexpall" + fi ;; freebsd2*) # Non-ELF GNU linker