This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/20728] New: powerpc: Missing TOC stub in clone


https://sourceware.org/bugzilla/show_bug.cgi?id=20728

            Bug ID: 20728
           Summary: powerpc: Missing TOC stub in clone
           Product: glibc
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: tuliom at linux dot vnet.ibm.com
                CC: drepper.fsp at gmail dot com
  Target Milestone: ---

Error message generated by the linker:

ld: lib/libc.a(clone.o): In function `__clone':
glibc-2.17/misc/../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:119:(.text+0x98):
call to `__wrap__exit' lacks nop, can't restore toc; (-mcmodel=small toc adjust
stub)
ld: final link failed: Bad value

Which is related to the following code:

        /* Call _exit with result from procedure.  */
#ifdef SHARED
        b       JUMPTARGET(__GI__exit)
#else
        b       JUMPTARGET(_exit)
        /* We won't ever get here but provide a nop so that the linker
           will insert a toc adjusting stub if necessary.  */
        nop
#endif

Older ppc64 linkers were able to generate a TOC stub after a branch + nop.
Current linkers require a branch and link + nop.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]