aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/aix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/aix')
-rw-r--r--sysdeps/unix/sysv/aix/Makefile16
-rw-r--r--sysdeps/unix/sysv/aix/bits/types.h6
2 files changed, 19 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/aix/Makefile b/sysdeps/unix/sysv/aix/Makefile
index 19ec885473..3fcf4bb3e9 100644
--- a/sysdeps/unix/sysv/aix/Makefile
+++ b/sysdeps/unix/sysv/aix/Makefile
@@ -2,6 +2,21 @@
# This is a hack until the import/export stuff is worked out.
+postctor += /lib/syscalls.exp
+ifeq ($(subdir),csu)
+
+sysdep_routines += aix-syscalls
+
+#
+# The foo.c is a workaround for the linker complaining about no input files.
+$(objpfx)aix-syscalls.o : /lib/syscalls.exp
+ echo "static int a;" > foo.c
+ $(CC) -c foo.c
+ ld -bM:SRE -bnoentry -bI:/lib/syscalls.exp -bE:/lib/syscalls.exp foo.o -o $@
+ rm foo.c foo.o
+
+
+endif
+
ifeq ($(subdir),misc)
sysdep_routines += dl-error dl-support dl-libc dl-open dl-sym \
dl-close dl-addr uitrunc
@@ -24,3 +39,4 @@ inhibit-glue = yes
ifeq ($(subdir),timezone)
CPPFLAGS-zic.c = -Dunix
endif
+
diff --git a/sysdeps/unix/sysv/aix/bits/types.h b/sysdeps/unix/sysv/aix/bits/types.h
index 4beff41891..12c3be730e 100644
--- a/sysdeps/unix/sysv/aix/bits/types.h
+++ b/sysdeps/unix/sysv/aix/bits/types.h
@@ -71,7 +71,7 @@ typedef int __pid_t; /* Type of process identifications. */
typedef long int __ssize_t; /* Type of a byte count, or error. */
typedef __u_long __rlim_t; /* Type of resource counts. */
typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */
-typedef __u_long __id_t; /* General type for ID. */
+typedef unsigned int __id_t; /* General type for ID. */
typedef struct
{
@@ -82,7 +82,7 @@ typedef struct
typedef long int __daddr_t; /* The type of a disk address. */
typedef char *__caddr_t;
typedef long int __time_t;
-typedef __u_long __useconds_t;
+typedef unsigned int __useconds_t;
typedef int __suseconds_t;
typedef long int __swblk_t; /* Type of a swap block maybe? */
@@ -128,7 +128,7 @@ typedef int __t_scalar_t;
typedef unsigned int __t_uscalar_t;
/* Duplicates info from stdint.h but this is used in unistd.h. */
-typedef int __intptr_t;
+typedef signed long __intptr_t;
/* Duplicate info from sys/socket.h. */
typedef unsigned int __socklen_t;