diff mbox

PATCH: PR target/60151: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64

Message ID CAMe9rOqq2qZ8RYjCTXJ0tsbZ976EAJ0D_4+DGX-Z3FpkoqDzKg@mail.gmail.com
State New
Headers show

Commit Message

H.J. Lu Feb. 11, 2014, 8:03 p.m. UTC
On Tue, Feb 11, 2014 at 11:40 AM, Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
> Hi H.J.,
>
>> HAVE_AS_GOTOFF_IN_DATA defines a 32-bit assembler feature, we need to
>> pass --32 to assembler. Otherwise, we get the wrong result on x86-64.
>> We already pass --32 to assembler on x86.  It should be OK to do it
>> in configure.  OK for trunk?
>
> This would break Solaris/x86 with as configurations, where this test
> currently passes, but would fail since as doesn't understand --32.
>

How about passing --32 to as only for Linux?  OK to install?

Thanks.

Comments

Rainer Orth Feb. 11, 2014, 8:29 p.m. UTC | #1
"H.J. Lu" <hjl.tools@gmail.com> writes:

> On Tue, Feb 11, 2014 at 11:40 AM, Rainer Orth
> <ro@cebitec.uni-bielefeld.de> wrote:
>> Hi H.J.,
>>
>>> HAVE_AS_GOTOFF_IN_DATA defines a 32-bit assembler feature, we need to
>>> pass --32 to assembler. Otherwise, we get the wrong result on x86-64.
>>> We already pass --32 to assembler on x86.  It should be OK to do it
>>> in configure.  OK for trunk?
>>
>> This would break Solaris/x86 with as configurations, where this test
>> currently passes, but would fail since as doesn't understand --32.
>>
>
> How about passing --32 to as only for Linux?  OK to install?

I'd rather do it for gas instead, which can be used on non-Linux
systems, too.

	Rainer
diff mbox

Patch

diff --git a/gcc/configure.ac b/gcc/configure.ac
index ac3d842..1b5dca2 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3867,8 +3867,17 @@  foo: nop

     # These two are used unconditionally by i386.[ch]; it is to be defined
     # to 1 if the feature is present, 0 otherwise.
+    case $target_os in
+    linux*)
+      as_ix86_gotoff_in_data_opt="--32"
+      ;;
+    *)
+      as_ix86_gotoff_in_data_opt=
+      ;;
+    esac
     gcc_GAS_CHECK_FEATURE([GOTOFF in data],
-        gcc_cv_as_ix86_gotoff_in_data, [2,11,0],,
+        gcc_cv_as_ix86_gotoff_in_data, [2,11,0],
+ $as_ix86_gotoff_in_data_opt,
 [ .text
 .L0:
  nop