Hi Ahmad, I'd like you to do a code review, which backports the following patch (r190600) from google/gcc-4_7.
2012-08-22 Han Shen <shen...@google.com> Fixed the problem that LINUX_GRTE_EXTRA_SPECS overrides SUBTARGET_EXTRA_SPECS by prepending LINUX_GRTE_EXTRA_SPECS to SUBTARGET_EXTRA_SPECS. * gcc/config/i386/gnu-user.h (SUBTARGET_EXTRA_SPECS_STR): Add new MACRO to hold value of SUBTARET_EXTRA_SPECS so that SUBTARET_EXTRA_SPECS could be replaced later in gnu-user.h * gcc/config/i386/linux.h (SUBTARGET_EXTRA_SPECS): Compute new value of LINUX_GRTE_EXTRA_SPECS by pre-pending LINUX_GRTE_EXTRA_SPECS to its origin value. Patch here - Property changes on: . ___________________________________________________________________ Modified: svn:mergeinfo Merged /branches/google/gcc-4_7:r190600 Property changes on: libjava/classpath ___________________________________________________________________ Modified: svn:mergeinfo Merged /branches/google/gcc-4_7/libjava/classpath:r190600 Index: ChangeLog.google-4_7 =================================================================== --- ChangeLog.google-4_7 (revision 190632) +++ ChangeLog.google-4_7 (working copy) @@ -1,3 +1,17 @@ +2012-08-22 Han Shen <shen...@google.com> + + Fixed the problem that LINUX_GRTE_EXTRA_SPECS overrides + SUBTARGET_EXTRA_SPECS by prepending LINUX_GRTE_EXTRA_SPECS to + SUBTARGET_EXTRA_SPECS. + + * gcc/config/i386/gnu-user.h (SUBTARGET_EXTRA_SPECS_STR): Add + new MACRO to hold value of SUBTARET_EXTRA_SPECS so that + SUBTARET_EXTRA_SPECS could be replaced later in gnu-user.h + + * gcc/config/i386/linux.h (SUBTARGET_EXTRA_SPECS): Compute new value + of LINUX_GRTE_EXTRA_SPECS by pre-pending LINUX_GRTE_EXTRA_SPECS to its + origin value. + 2012-08-08 Simon Baldwin <sim...@google.com> Cherry pick revision 190232. Property changes on: gcc ___________________________________________________________________ Modified: svn:mergeinfo Merged /branches/google/gcc-4_7/gcc:r190600 Property changes on: gcc/testsuite/gcc.target/powerpc/ppc-round.c ___________________________________________________________________ Modified: svn:mergeinfo Merged /branches/google/gcc-4_7/gcc/testsuite/gcc.target/powerpc/ppc-round.c:r190600 Index: gcc/config/i386/linux.h =================================================================== --- gcc/config/i386/linux.h (revision 190632) +++ gcc/config/i386/linux.h (working copy) @@ -32,5 +32,11 @@ #endif #undef SUBTARGET_EXTRA_SPECS +#ifndef SUBTARGET_EXTRA_SPECS_STR #define SUBTARGET_EXTRA_SPECS \ LINUX_GRTE_EXTRA_SPECS +#else +#define SUBTARGET_EXTRA_SPECS \ + LINUX_GRTE_EXTRA_SPECS \ + SUBTARGET_EXTRA_SPECS_STR +#endif Index: gcc/config/i386/gnu-user.h =================================================================== --- gcc/config/i386/gnu-user.h (revision 190632) +++ gcc/config/i386/gnu-user.h (working copy) @@ -92,11 +92,14 @@ #define ASM_SPEC \ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" -#undef SUBTARGET_EXTRA_SPECS -#define SUBTARGET_EXTRA_SPECS \ +#undef SUBTARGET_EXTRA_SPECS_STR +#define SUBTARGET_EXTRA_SPECS_STR \ { "link_emulation", GNU_USER_LINK_EMULATION },\ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } +#undef SUBTARGET_EXTRA_SPECS +#define SUBTARGET_EXTRA_SPECS SUBTARGET_EXTRA_SPECS_STR + #undef LINK_SPEC #define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ %{!shared: \ -Han