FT32: apply unbias to references to RAM symbols.
authorJames Bowman <james.bowman@ftdichip.com>
Fri, 8 Jul 2016 22:11:30 +0000 (22:11 +0000)
committerJames Bowman <jamesbowman@gcc.gnu.org>
Fri, 8 Jul 2016 22:11:30 +0000 (22:11 +0000)
commitf0f649c33c9363701979792c3fb9c783461ee49f
tree625ab019316dfe33ea4e16e9e672a38ec42c0a83
parent72b3e203352b9cc6524531e8a0975c672dfdca2e
FT32: apply unbias to references to RAM symbols.

The FT32 binutils use a bias to distinguish between RAM and flash
addresses.

This fix adds an ASM_OUTPUT_SYMBOL_REF() that unbiases references to
RAM symbols.

Only references to RAM objects have the bias applied. Flash objects
(that is, objects in ADDR SPACE 1) are not biased, so for these no bias
should be applied. Likewise references in the gdb section need to use
the biased address, so references in debug sections are not unbiased.

gcc/ChangeLog:

2016-07-08  James Bowman  <james.bowman@ftdichip.com>

* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.

From-SVN: r238185
gcc/ChangeLog
gcc/config/ft32/ft32.c
gcc/config/ft32/ft32.h