This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thu, Jul 7, 2011 at 6:21 AM, Paolo Bonzini <bonzini@gnu.org> wrote: > Did you even _think_ of looking at the sh configury, and do something > vaguely similar for x86? > > You should not duplicate t-linux64 at all. ?Instead, in config.gcc set > m64/m32 as the default value for with_multilib_list on i386 biarch and > x86_64. ?Pass $with_multilib_list to t-linux64 using > TM_MULTILIB_CONFIG. ?Then, do something like > > comma=, > MULTILIB_OPTIONS ? ?= $(subst $(comma),/,@TM_MULTILIB_CONFIG@) > MULTILIB_DIRNAMES ? = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) > MULTILIB_OSDIRNAMES ?= 64=../lib64 > MULTILIB_OSDIRNAMES += 32=$(if $(wildcard $(shell echo > $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) > MULTILIB_OSDIRNAMES += x32=../libx32 > > in config/t-linux64. ?(Each on one line, apologies for any wrapping) > > The option will be used as --with-multilib-list=m64,m32,mx32 (allowing > the user to omit some of the variants, too). > This is an excellent suggestion. Here is the updated patch. It uses TM_MULTILIB_CONFIG and removes config/i386/t-linux-x32. Uros, is this OK for trunk to replace the patch you approved earlier? Thanks. -- H.J. --- 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.
Attachment:
gcc-x32-5.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |