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 dynamic-link/17354] New: tile: signed dynamic relocations aren't handled correctly


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

            Bug ID: 17354
           Summary: tile: signed dynamic relocations aren't handled
                    correctly
           Product: glibc
           Version: 2.19
            Status: NEW
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: cmetcalf at tilera dot com
            Target: tilegx, tilepro

The tst-pie1 regression test fails on tile.  The issue is that we're not
properly
handling signed relocations.  The HWx_LAST relocations are loaded with
"moveli", 
which sign-extends.  Similarly the HW8 relocations tend to be for "movei"
(sign-extending) and BrOff and JOff_Long are both sign-extending.  A simple way
to demonstrate the failure is to take two simple assembly programs like

.global l1
l1:
j l2

and a corresponding program with "l2: j l1", build them both without -fpic but
as shared objects, and link them against a no-op main().  Trying to run the
resulting program generates a "Relocation too large" failure, even though the
l1 and l2 labels are quite close in memory.

-- 
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]