public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
@ 2014-02-11 19:14 hjl.tools at gmail dot com
  2014-02-12 16:13 ` [Bug target/60151] " hjl at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: hjl.tools at gmail dot com @ 2014-02-11 19:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60151

            Bug ID: 60151
           Summary: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: ubizjak at gmail dot com

i386.h has

/* Under some conditions we need jump tables in the text section,
   because the assembler cannot handle label differences between
   sections.  This is the case for x86_64 on Mach-O for example.  */

#define JUMP_TABLES_IN_TEXT_SECTION \
  (flag_pic && ((TARGET_MACHO && TARGET_64BIT) \
   || (!TARGET_64BIT && !HAVE_AS_GOTOFF_IN_DATA)))

HAVE_AS_GOTOFF_IN_DATA is only used for 32-bit PIC.  However,
configure.ac has

    gcc_GAS_CHECK_FEATURE([GOTOFF in data],
        gcc_cv_as_ix86_gotoff_in_data, [2,11,0],,
[       .text
.L0:
        nop
        .data
        .long .L0@GOTOFF])
    AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,

On Linux/x86-64, we get

configure:25031: checking assembler for GOTOFF in data
configure:25048: /usr/local/bin/as --64  -o conftest.o conftest.s >&5
conftest.s: Assembler messages:
conftest.s:5: Error: 8-byte relocation cannot be applied to 4-byte field
configure:25051: $? = 1
configure: failed program was
        .text
.L0:
        nop
        .data
        .long .L0@GOTOFF
configure:25062: result: no

On Linux/i686, we get

configure:25026: checking assembler for GOTOFF in data
configure:25043: /usr/local32/bin/as --32  -o conftest.o conftest.s >&5
configure:25046: $? = 0
configure:25057: result: yes

As the result, we put jump table in .text section for -m32 -fPIC
on Linux/x86-64.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/60151] HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
  2014-02-11 19:14 [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64 hjl.tools at gmail dot com
@ 2014-02-12 16:13 ` hjl at gcc dot gnu.org
  2014-02-12 16:39 ` hjl at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: hjl at gcc dot gnu.org @ 2014-02-12 16:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60151

--- Comment #1 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Feb 12 16:12:36 2014
New Revision: 207731

URL: http://gcc.gnu.org/viewcvs?rev=207731&root=gcc&view=rev
Log:
Pass --32 to GNU assembler for .long foo@GOTOFF check

    PR target/60151
    * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU
    assembler.
    * configure: Regenerated.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/configure
    trunk/gcc/configure.ac


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/60151] HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
  2014-02-11 19:14 [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64 hjl.tools at gmail dot com
  2014-02-12 16:13 ` [Bug target/60151] " hjl at gcc dot gnu.org
@ 2014-02-12 16:39 ` hjl at gcc dot gnu.org
  2014-02-12 16:44 ` hjl at gcc dot gnu.org
  2014-02-12 16:45 ` hjl.tools at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: hjl at gcc dot gnu.org @ 2014-02-12 16:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60151

--- Comment #2 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Feb 12 16:38:50 2014
New Revision: 207733

URL: http://gcc.gnu.org/viewcvs?rev=207733&root=gcc&view=rev
Log:
Pass --32 to GNU assembler for .long foo@GOTOFF check

    Backport from mainline
    PR target/60151
    * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU
    assembler.

Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/configure
    branches/gcc-4_8-branch/gcc/configure.ac


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/60151] HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
  2014-02-11 19:14 [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64 hjl.tools at gmail dot com
  2014-02-12 16:13 ` [Bug target/60151] " hjl at gcc dot gnu.org
  2014-02-12 16:39 ` hjl at gcc dot gnu.org
@ 2014-02-12 16:44 ` hjl at gcc dot gnu.org
  2014-02-12 16:45 ` hjl.tools at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: hjl at gcc dot gnu.org @ 2014-02-12 16:44 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60151

--- Comment #3 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Feb 12 16:43:47 2014
New Revision: 207734

URL: http://gcc.gnu.org/viewcvs?rev=207734&root=gcc&view=rev
Log:
Pass --32 to GNU assembler for .long foo@GOTOFF check

    Backport from mainline
    PR target/60151
    * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU
    assembler.

Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/configure
    branches/gcc-4_7-branch/gcc/configure.ac


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/60151] HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64
  2014-02-11 19:14 [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64 hjl.tools at gmail dot com
                   ` (2 preceding siblings ...)
  2014-02-12 16:44 ` hjl at gcc dot gnu.org
@ 2014-02-12 16:45 ` hjl.tools at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: hjl.tools at gmail dot com @ 2014-02-12 16:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60151

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed in GCC 4.7.4/4.8.3/4.9.0.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-02-12 16:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-11 19:14 [Bug target/60151] New: HAVE_AS_GOTOFF_IN_DATA is mis-detected on x86-64 hjl.tools at gmail dot com
2014-02-12 16:13 ` [Bug target/60151] " hjl at gcc dot gnu.org
2014-02-12 16:39 ` hjl at gcc dot gnu.org
2014-02-12 16:44 ` hjl at gcc dot gnu.org
2014-02-12 16:45 ` hjl.tools at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).