diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2011-07-07 15:38:34 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2011-07-07 08:38:34 -0700 |
commit | f0ea75811ae63b50e6c06ad694a993a8182ba012 (patch) | |
tree | be55d57f091491a3c10e4f0da3c1344d4d7f5991 /gcc/doc | |
parent | 5c318df5275b3dd6843190b8e65580f8a63eb246 (diff) | |
download | gcc-f0ea75811ae63b50e6c06ad694a993a8182ba012.zip gcc-f0ea75811ae63b50e6c06ad694a993a8182ba012.tar.gz gcc-f0ea75811ae63b50e6c06ad694a993a8182ba012.tar.bz2 |
Initial x32 support.
2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Support --with-multilib-list for x86 Linux
targets.
* configure.ac: Mention x86-64 for --with-multilib-list.
* configure: Regenerated.
* config/i386/gnu-user64.h (SPEC_64): Support x32.
(SPEC_32): Likewise.
(ASM_SPEC): Likewise.
(LINK_SPEC): Likewise.
(TARGET_THREAD_SSP_OFFSET): Likewise.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
(SPEC_X32): New.
* config/i386/i386.h (TARGET_X32): New.
(TARGET_LP64): New.
(LONG_TYPE_SIZE): Likewise.
(POINTER_SIZE): Likewise.
(POINTERS_EXTEND_UNSIGNED): Likewise.
(OPT_ARCH64): Support x32.
(OPT_ARCH32): Likewise.
* config/i386/i386.opt (mx32): New.
* config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
(BIONIC_DYNAMIC_LINKERX32): Likewise.
(GNU_USER_DYNAMIC_LINKERX32): Likewise.
* config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
* doc/install.texi: Document --with-multilib-list for
Linux/x86-64.
* doc/invoke.texi: Document -mx32.
From-SVN: r175984
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/install.texi | 14 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 16 |
2 files changed, 23 insertions, 7 deletions
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index f93413f..833b4c9 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1049,8 +1049,10 @@ sysv, aix. @item --with-multilib-list=@var{list} @itemx --without-multilib-list Specify what multilibs to build. -Currently only implemented for sh*-*-*. +Currently only implemented for sh*-*-* and x86-64-*-linux*. +@table @code +@item sh*-*-* @var{list} is a comma separated list of CPU names. These must be of the form @code{sh*} or @code{m*} (in which case they match the compiler option for that processor). The list should not contain any endian options - @@ -1082,6 +1084,16 @@ only little endian SH4AL: --with-multilib-list=sh4al,!mb/m4al @end smallexample +@item x86-64-*-linux* +@var{list} is a comma separated list of @code{m32}, @code{m64} and +@code{mx32} to enable 32-bit, 64-bit and x32 run-time libraries, +respectively. If @var{list} is empty, then there will be no multilibs +and only the default run-time library will be enabled. + +If @option{--with-multilib-list} is not given, then only 32-bit and +64-bit run-time libraries will be enabled. +@end table + @item --with-endian=@var{endians} Specify what endians to use. Currently only implemented for sh*-*-*. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c8ec451..f146cc5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -610,7 +610,7 @@ Objective-C and Objective-C++ Dialects}. -mpc32 -mpc64 -mpc80 -mstackrealign @gol -momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs @gol -mcmodel=@var{code-model} -mabi=@var{name} @gol --m32 -m64 -mlarge-data-threshold=@var{num} @gol +-m32 -m64 -mx32 -mlarge-data-threshold=@var{num} @gol -msse2avx -mfentry -m8bit-idiv @gol -mavx256-split-unaligned-load -mavx256-split-unaligned-store} @@ -12853,15 +12853,19 @@ on AMD x86-64 processors in 64-bit environments. @table @gcctabopt @item -m32 @itemx -m64 +@itemx -mx32 @opindex m32 @opindex m64 +@opindex mx32 Generate code for a 32-bit or 64-bit environment. -The 32-bit environment sets int, long and pointer to 32 bits and +The @option{-m32} option sets int, long and pointer to 32 bits and generates code that runs on any i386 system. -The 64-bit environment sets int to 32 bits and long and pointer -to 64 bits and generates code for AMD's x86-64 architecture. For -darwin only the -m64 option turns off the @option{-fno-pic} and -@option{-mdynamic-no-pic} options. +The @option{-m64} option sets int to 32 bits and long and pointer +to 64 bits and generates code for AMD's x86-64 architecture. +The @option{-mx32} option sets int, long and pointer to 32 bits and +generates code for AMD's x86-64 architecture. +For darwin only the @option{-m64} option turns off the @option{-fno-pic} +and @option{-mdynamic-no-pic} options. @item -mno-red-zone @opindex mno-red-zone |