diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-01-18 17:11:00 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-01-18 17:11:00 +0000 |
commit | fa4604e04e973ca3abd6aeaeec07bbf0fc38d9af (patch) | |
tree | cb548633e3b698c18fe6339137307cbf28dd0d82 /libc/sysdeps/unix/sysv/linux/x86 | |
parent | 00ed3326c2fac75592e173e9d731452e9bb769ff (diff) |
Merge changes between r22176 and r22241 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@22242 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/sysdeps/unix/sysv/linux/x86')
-rw-r--r-- | libc/sysdeps/unix/sysv/linux/x86/bits/environments.h | 25 | ||||
-rw-r--r-- | libc/sysdeps/unix/sysv/linux/x86/sys/procfs.h | 2 |
2 files changed, 18 insertions, 9 deletions
diff --git a/libc/sysdeps/unix/sysv/linux/x86/bits/environments.h b/libc/sysdeps/unix/sysv/linux/x86/bits/environments.h index 0fe1e3f5f..27b37b30e 100644 --- a/libc/sysdeps/unix/sysv/linux/x86/bits/environments.h +++ b/libc/sysdeps/unix/sysv/linux/x86/bits/environments.h @@ -64,15 +64,19 @@ #else /* __WORDSIZE == 32 */ -/* By default we have 32-bit wide `int', `long int', pointers and `off_t' - and all platforms support LFS. */ -# define _POSIX_V7_ILP32_OFF32 1 +/* We have 32-bit wide `int', `long int' and pointers and all platforms + support LFS. -mx32 has 64-bit wide `off_t'. */ # define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 # define _XBS5_ILP32_OFFBIG 1 +# ifndef __x86_64__ +/* -m32 has 32-bit wide `off_t'. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _XBS5_ILP32_OFF32 1 +# endif + /* We optionally provide an environment with the above size but an 64-bit side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ @@ -89,8 +93,13 @@ #endif /* __WORDSIZE == 32 */ #define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" #define __ILP32_OFF32_LDFLAGS "-m32" -#define __ILP32_OFFBIG_LDFLAGS "-m32" +#if defined __x86_64__ && defined __ILP32__ +# define __ILP32_OFFBIG_CFLAGS "-mx32" +# define __ILP32_OFFBIG_LDFLAGS "-mx32" +#else +# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +# define __ILP32_OFFBIG_LDFLAGS "-m32" +#endif #define __LP64_OFF64_CFLAGS "-m64" #define __LP64_OFF64_LDFLAGS "-m64" diff --git a/libc/sysdeps/unix/sysv/linux/x86/sys/procfs.h b/libc/sysdeps/unix/sysv/linux/x86/sys/procfs.h index dddbced57..ec318ad93 100644 --- a/libc/sysdeps/unix/sysv/linux/x86/sys/procfs.h +++ b/libc/sysdeps/unix/sysv/linux/x86/sys/procfs.h @@ -36,7 +36,7 @@ __BEGIN_DECLS /* Type for a general-purpose register. */ #ifdef __x86_64__ -typedef unsigned long long elf_greg_t; +__extension__ typedef unsigned long long elf_greg_t; #else typedef unsigned long elf_greg_t; #endif |