diff mbox

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

Message ID CAFULd4Yy8BQ+ZX1D4y8XfNMWQxxocHQ156sE7UkEprA2H4=Vng@mail.gmail.com
State New
Headers show

Commit Message

Uros Bizjak Feb. 12, 2014, 8:20 a.m. UTC
On Tue, Feb 11, 2014 at 9:41 PM, H.J. Lu <hjl.tools@gmail.com> wrote:

>>>>> 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.
>>
>
> Sure.  Here is the new patch.  OK to install?

Attached is slightly changed patch that follows established
configure.ac code formatting. Please check if this version works for
you.

The patch is OK for mainline and release branches.

Thanks,
Uros.

Comments

H.J. Lu Feb. 12, 2014, 4:13 p.m. UTC | #1
On Wed, Feb 12, 2014 at 12:20 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Feb 11, 2014 at 9:41 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>>>>> 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.
>>>
>>
>> Sure.  Here is the new patch.  OK to install?
>
> Attached is slightly changed patch that follows established
> configure.ac code formatting. Please check if this version works for
> you.
>
> The patch is OK for mainline and release branches.
>

I checked it into trunk and will backport it later.

Thanks.
diff mbox

Patch

Index: configure
===================================================================
--- configure	(revision 207710)
+++ configure	(working copy)
@@ -25028,6 +25028,10 @@ 
 
     # These two are used unconditionally by i386.[ch]; it is to be defined
     # to 1 if the feature is present, 0 otherwise.
+    as_ix86_gotoff_in_data_opt=
+    if test x$gas = xyes; then
+      as_ix86_gotoff_in_data_opt="--32"
+    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for GOTOFF in data" >&5
 $as_echo_n "checking assembler for GOTOFF in data... " >&6; }
 if test "${gcc_cv_as_ix86_gotoff_in_data+set}" = set; then :
@@ -25044,7 +25048,7 @@ 
 	nop
 	.data
 	.long .L0@GOTOFF' > conftest.s
-    if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -o conftest.o conftest.s >&5'
+    if { ac_try='$gcc_cv_as $gcc_cv_as_flags $as_ix86_gotoff_in_data_opt -o conftest.o conftest.s >&5'
   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: configure.ac
===================================================================
--- configure.ac	(revision 207710)
+++ configure.ac	(working copy)
@@ -3867,8 +3867,13 @@ 
 
     # These two are used unconditionally by i386.[ch]; it is to be defined
     # to 1 if the feature is present, 0 otherwise.
+    as_ix86_gotoff_in_data_opt=
+    if test x$gas = xyes; then
+      as_ix86_gotoff_in_data_opt="--32"
+    fi
     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