bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/13391] New: .rofixup section size mismatch


From: Stuart.Henderson at analog dot com
Subject: [Bug ld/13391] New: .rofixup section size mismatch
Date: Mon, 07 Nov 2011 15:51:12 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=13391

             Bug #: 13391
           Summary: .rofixup section size mismatch
           Product: binutils
           Version: 2.23 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: address@hidden
        ReportedBy: address@hidden
    Classification: Unclassified


I'm looking into a problem I'm seeing with the Blackfin linker (binutils 2.21 &
HEAD) when I move to gcc-4.5 (from gcc-4.3).  When compiling the example at the
bottom (-O3 -g FDPIC), I get the following error:
bin/ld: LINKER BUG: .rofixup section size mismatch
bin/ld: final link failed: Nonrepresentable section on output

i.e. the fixup section size is smaller than the fixup relocation count * 4.

The problem appears to be caused by gcc 4.5's emission of a series of:
.picptr funcdesc(_callback)
in the .debug_info section which aren't being handled correctly.

I can workaround the error by just not counting relocsfd for R_BFIN_FUNCDESCs
in sections without the SEC_ALLOC flag, but this doesn't seem like the
appropriate fix.

Example:

static int CallFunctionRec(int (*fun)()) {
  CallFunctionRec(fun);
  return 1;
}

static int CallFunction(int (*fun)()) {
  return CallFunctionRec(fun);
}

static int callback() {
  return 0;
}

int main() {
  CallFunction(callback);
  return 0;
}

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]