On Tue, Jun 7, 2011 at 8:47 AM, Joseph S. Myers <[email protected]> wrote:
> On Sun, 5 Jun 2011, H.J. Lu wrote:
>
>> * config.gcc: Support --enable-x32/--enable-ia32 for x86 Linux
>> targets.
>>
>> * configure.ac: Support --enable-x32/--enable-ia32.
>> * configure: Regenerated.
>
> New configure options need documenting in install.texi.
I will fix it.
>> #undef ASM_SPEC
>> -#define ASM_SPEC "%{" SPEC_32 ":--32} %{" SPEC_64 ":--64} \
>> +#define ASM_SPEC "%{" SPEC_32 ":%{!mx32:--32}} %{" \
>> + SPEC_64 ":%{!mx32:--64}} %{mx32:--x32} \
>> %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
>
> This looks wrong. You should define SPEC_32, SPEC_64 and SPEC_X32 to be
> the three mutually exclusive cases, then use those three here and in other
> specs without any nesting.
I thought about it when I started working on it. But I couldn't find a way
to do it properly. What we have are
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
#define SPEC_64 "!m32"
#else
#define SPEC_32 "!m64"
#define SPEC_64 "m64"
#endif
I don't know how to make -mx32, -m32 and -m64 mutually exclusive with
GCC spec processing in GCC driver.
>> Generate code for a 32-bit or 64-bit environment.
>> -The 32-bit environment sets int, long and pointer to 32 bits and
>> +The -m32 option sets int, long and pointer to 32 bits and
>
> @option{-m32}. Likewise later in this paragraph for various option names.
>
I will fix it.
Thanks.
--
H.J.