[patch,avr] Fix PR21569
Georg-Johann Lay
avr@gjlay.de
Mon Jun 12 16:28:00 GMT 2017
On 12.06.2017 13:51, Georg-Johann Lay wrote:
> As proposed by Nick, this patch makes avr.sc so generic
> that avrtiny.sc is no more needed and avr.sc can be used
> also for avrtiny.
>
> The patch introduces some new variables to factor out the
> differences.
>
> The patch is written in such a way that all changes will be
> in the generated scripts avrtiny.x* and all non-tiny
> scripts remain the same. Hence easy to verify by comparing
> the new avrtiny.x* against the ones from an existing install.
>
> The changes in avrtiny.x* are due to different (trailing)
> spaces in the original avrtiny.sc compared to avr.sc
> which I didn't fix, dito for a source comment which
> I didn't include in avr.sc for easier maintenance.
>
> If it's ok for master, please someone commit it.
>
> Please notice that scripttempl/avrtiny.sc has to be
> removed by hand, I didn't find a way to include the
> removal in the delta below.
Here is an updated patch that also simplifies the handling of
RODATA_PM_OFFSET so that avr.sc gets a bit simpler.
Output and ChangeLog remain the same.
Thanks,
Johann
> ld/
> Genericize avr.sc so that it also works for avrtiny.
>
> PR ld/21569
> * scripttempl/avrtiny.sc: Remove file.
>
> * Makefile.am (eavrtiny.c): Depend on avr.sc, no more on avrtiny.sc.
> * Makefile.in: Regenerate.
> * emulparams/avrtiny.sh (SCRIPT_NAME): Set var to "avr".
> (TEXT_ORIGIN): Remove var.
> (FUSE_NAME, FUSE_LENGTH, LOCK_LENGTH, SIGNATURE_LENGTH)
> (RODATA_PM_OFFSET): Set new vars.
> * emulparams/avr1.sh (FUSE_NAME, EEPROM_LENGTH, FUSE_LENGTH)
> (LOCK_LENGTH, SIGNATURE_LENGTH, USER_SIGNATURE_LENGTH): Set new vars.
> * emulparams/avr2.sh: Same.
> * emulparams/avr25.sh: Same.
> * emulparams/avr3.sh: Same.
> * emulparams/avr31.sh: Same.
> * emulparams/avr35.sh: Same.
> * emulparams/avr4.sh: Same.
> * emulparams/avr5.sh: Same.
> * emulparams/avr51.sh: Same.
> * emulparams/avr6.sh: Same.
> * emulparams/avrxmega1.sh: Same.
> * emulparams/avrxmega2.sh: Same.
> * emulparams/avrxmega3.sh: Same.
> * emulparams/avrxmega4.sh: Same.
> * emulparams/avrxmega5.sh: Same.
> * emulparams/avrxmega6.sh: Same.
> * emulparams/avrxmega7.sh: Same.
> * scripttempl/avr.sc (__EEPROM_REGION_LENGTH__): Only define
> if EEPROM_LENGTH is set.
> (MEMORY) [eeprom]: Same.
> (SECTIONS) [.eeprom]: Same for output section.
> (__USER_SIGNATURE_REGION_LENGTH__): Only define if
> USER_SIGNATURE_LENGTH is set.
> (MEMORY) [user_signatures]: Same.
> (SECTIONS) [.fuse]: Only define output section if FUSE_NAME = fuse.
> (SECTIONS) [.config]: Only define output section if FUSE_NAME = config.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: binutils-unify-avrsc-v2.diff
Type: text/x-patch
Size: 12067 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20170612/314a510a/attachment.bin>
More information about the Binutils
mailing list