bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/20302] New: Linker considers first specification of -Tdata/text/


From: saaadhu at sourceware dot org
Subject: [Bug ld/20302] New: Linker considers first specification of -Tdata/text/bss, not the last, if they are specified multiple times on the command line
Date: Mon, 27 Jun 2016 12:49:06 +0000

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

            Bug ID: 20302
           Summary: Linker considers first specification of
                    -Tdata/text/bss, not the last, if they are specified
                    multiple times on the command line
           Product: binutils
           Version: 2.27 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: saaadhu at sourceware dot org
  Target Milestone: ---

If any of the -T{data,text,bss} happen to be specified multiple times on the
command line, the start address of the corresponding section is set to the
value specified in the first instance of the option, not the last.

For example,
$ cat test.c
int main(void) {return 0;}
$ avr-gcc -mmcu=atmega128 -c test.c
$ avr-ld -mavr51 -nostartfiles -Tdata=0x800102 -Tdata=0x800204 test.o
$ avr-objdump -h a.out
a.out:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000000  00800102  00000012  00000086  2**0
                  CONTENTS, ALLOC, LOAD, DATA
...

In contrast, --section-start,.data=<address> works as expected, the value
specified last is what gets set as the section's VMA. 

In general, if the same option is specified multiple times with varying
arguments, the last argument wins, so IMO -T needs to follow that convention.

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