+2018-06-07 Alan Modra <amodra@gmail.com>
+
+ * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference
+ __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs.
+
2018-06-05 Alan Modra <amodra@gmail.com>
* bfd.c (struct bfd): Update comment on "where" usage.
case R_C6000_SBR_H16_B:
case R_C6000_SBR_H16_H:
case R_C6000_SBR_H16_W:
+ {
+ /* These relocations implicitly reference __c6xabi_DSBT_BASE.
+ Add an explicit reference so that the symbol will be
+ provided by a linker script. */
+ struct bfd_link_hash_entry *bh = NULL;
+ if (!_bfd_generic_link_add_one_symbol (info, abfd,
+ "__c6xabi_DSBT_BASE",
+ BSF_GLOBAL,
+ bfd_und_section_ptr, 0,
+ NULL, FALSE, FALSE, &bh))
+ return FALSE;
+ ((struct elf_link_hash_entry *) bh)->non_elf = 0;
+ }
if (h != NULL && bfd_link_executable (info))
{
/* For B14-relative addresses, we might need a copy
+2018-06-07 Alan Modra <amodra@gmail.com>
+
+ * emulparams/elf32_tic6x_le.sh (EXECUTABLE_SYMBOLS): Don't define.
+
2018-06-06 Alan Modra <amodra@gmail.com>
* Makefile.am (earmelf_fbsd.c): Correct dependencies.
esac
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ARCH=tic6x
-EXECUTABLE_SYMBOLS="EXTERN (__c6xabi_DSBT_BASE);"
OTHER_GOT_SYMBOLS="PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .);"
# ".bss" is near (small) BSS, ".far" is far (normal) BSS, ".const" is
# far read-only data, ".rodata" is near read-only data. ".neardata"