diff options
author | Faraz Shahbazker <fshahbazker@wavecomp.com> | 2019-05-18 01:19:03 -0700 |
---|---|---|
committer | Faraz Shahbazker <fshahbazker@wavecomp.com> | 2019-05-21 11:55:08 -0700 |
commit | 304f09d0d4b519f143144d213e1280a0691de8ba (patch) | |
tree | d5baa5160d5ed5001a91c77672f14a95ce5abde3 /ld/testsuite/ld-mips-elf/pic-reloc-7.d | |
parent | ba6cd17f0a28e54d9b4ef46397d448f1d208d9a0 (diff) | |
download | gdb-304f09d0d4b519f143144d213e1280a0691de8ba.zip gdb-304f09d0d4b519f143144d213e1280a0691de8ba.tar.gz gdb-304f09d0d4b519f143144d213e1280a0691de8ba.tar.bz2 |
MIPS/LD: Fix memory fault linking non-PIC object in to shared library
bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
checks. Search the RELA table for n64 relocations.
ld/
* testsuite/ld-mips-elf/pic-reloc-5.d: New test.
* testsuite/ld-mips-elf/pic-reloc-6.d: New test.
* testsuite/ld-mips-elf/pic-reloc-7.d: New test.
* testsuite/ld-mips-elf/pic-reloc-5.s: New test source.
* testsuite/ld-mips-elf/pic-reloc-6.s: New test source.
* testsuite/ld-mips-elf/pic-reloc-7.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
Diffstat (limited to 'ld/testsuite/ld-mips-elf/pic-reloc-7.d')
-rw-r--r-- | ld/testsuite/ld-mips-elf/pic-reloc-7.d | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/testsuite/ld-mips-elf/pic-reloc-7.d b/ld/testsuite/ld-mips-elf/pic-reloc-7.d new file mode 100644 index 0000000..e5dfa58 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pic-reloc-7.d @@ -0,0 +1,8 @@ +#name: MIPS PIC relocation 7 +#ld: -shared -T pic-reloc-ordinary.ld +#target: [check_shared_lib_support] +#error: \A[^\n]*: in function `foo':\n +#error: \(\.text\+0x0\): relocation R_(MICRO|)MIPS_HIGHEST against `a local symbol' cannot be used when making a shared object; recompile with -fPIC\n +#error: \(\.text\+0x4\): relocation R_(MICRO|)MIPS_HIGHER against `a local symbol' cannot be used when making a shared object; recompile with -fPIC\n +#error: \(\.text\+0x8\): relocation R_(MICRO|)MIPS_HIGHEST against `bar' cannot be used when making a shared object; recompile with -fPIC\n +#error: \(\.text\+0xc\): relocation R_(MICRO|)MIPS_HIGHER against `bar' cannot be used when making a shared object; recompile with -fPIC\Z |