This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch,avr] PR21849: Locate section .progmemx.* at a higher address.
- From: Nick Clifton <nickc at redhat dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>, Binutils Development <binutils at sourceware dot org>
- Date: Thu, 27 Jul 2017 12:48:07 +0100
- Subject: Re: [patch,avr] PR21849: Locate section .progmemx.* at a higher address.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=nickc at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D17C7E8AFD
- References: <8704691a-0a31-ed32-ac3c-280024e36a8d@gjlay.de>
Hi Johann,
> Hi, this fixes PR21849: The current location of data for
> avr-gcc named address space __memx is such that it "wastes"
> lower addresses in the 16-bit range.
>
> As the compiler is using 24-bit addresses for __memx data which
> it located in .progmemx.*, this section can be moved to a higher
> address in the linker script.
> @@ -128,7 +128,7 @@ SECTIONS
> ${RELOCATING+ *libprintf_flt.a:*(.progmem.data)}
> ${RELOCATING+ *libc.a:*(.progmem.data)}
>
> - ${RELOCATING+ *(.progmem*)}
> + ${RELOCATING+ *(.progmem.*)}
>
> ${RELOCATING+. = ALIGN(2);}
>
> @@ -196,6 +196,8 @@ SECTIONS
> *(.hightext)
> ${RELOCATING+ *(.hightext*)}
>
> + ${RELOCATING+ *(.progmemx.*)}
> +
> ${RELOCATING+. = ALIGN(2);}
>
> /* For tablejump instruction arrays. We don't relax
This does not look right. It does add the .progmemx.* entry to the high area
but it also removes the .progmem.* entry from the low area. Why is this needed ?
.progmem.* will not match any .progmemx.* sections, so the two are distinct.
(Note the period character in a section pattern is not a regexp character, it
exactly matches only the period character itself).
> Would also be great if this can go into 2.29.
Sorry - 2.29 is out of the door - so it is too late for this to happen.
Cheers
Nick