Commit | Line | Data |
---|---|---|
bb4a8e71 HPN |
1 | #as: --no-underscore --em=criself |
2 | #ld: -shared -m crislinux -z nocombreloc | |
3 | #ld_after_inputfiles: tmpdir/libdso-1b.so | |
4 | #warning: \A[^\n]*\.o, section `.text', to symbol `expfn@@TST2':\n | |
5 | #warning: [^\n]*recompile with -fPIC\Z | |
6 | #readelf: -a | |
7 | ||
8 | # Building a DSO with (unrecommended) non-pic pc-relative references | |
9 | # to a versioned symbol in a library got caught by an assert in | |
10 | # elf_cris_copy_indirect_symbol wherein the list of pc-relative | |
11 | # references wasn't merged, but simply asserted to be NULL before | |
12 | # copied to, on the merged-to (direct) symbol. For versioned symbols, | |
13 | # there was an "extra" copy made, to make a base-version symbol, where | |
14 | # the copied-from pc-relative list was NULL but the copied-to symbol | |
15 | # already had a list merged. | |
16 | ||
17 | # The list was used to emit warning messages, but incorrectly held the | |
18 | # relocation section for the reference, resulting in warnings being | |
19 | # emitted for any section with a pc-relative relocation. | |
20 | ||
21 | # The test checks that there's a warning message only for the | |
22 | # read-only sections section (.text) (not the read-write sections), | |
23 | # that the correct number of relocations is emitted and we also check | |
24 | # for the TEXTREL dynamic marker. | |
25 | ||
26 | #... | |
27 | 0x00000016 \(TEXTREL\)[ ]+0x0 | |
28 | #... | |
29 | Relocation section '\.rela\.text' at offset .* contains 4 entries: | |
30 | #... | |
31 | Relocation section '\.rela\.data' at offset .* contains 8 entries: | |
32 | #... | |
33 | Relocation section '.rela.data2' at offset .* contains 16 entries: | |
34 | #pass |