Files
RedBear-OS/recipes/tools/gnu-binutils/source/ld/testsuite/ld-cris/pr16044.d
T
vasilito ff4ff35918 feat: track all source trees in git — full fork offline-first model
Red Bear OS is a full fork. All sources must be available from git clone
with zero network access. Removed gitignore rules that excluded fetched
source trees under recipes/*/source/, local/recipes/kde/*/source/,
local/recipes/qt/*/source/, and vendor source trees.

Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded.

127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt
frameworks, mesa, wayland, DRM drivers, and every other recipe source.
2026-05-14 10:55:53 +01:00

41 lines
1.7 KiB
D

#source: dso-4.s
#source: dso-2b.s
#source: dso-1c.s
#as: --pic --no-underscore --em=criself -I$srcdir/$subdir
#ld: --shared -m crislinux --hash-style=sysv
#readelf: -s -r
# PR 16044 is about a (compile-time-non-local) hidden function symbol,
# entered as an undef reference with a R_CRIS_32_PLT_GOTREL relocation
# referring to a hidden symbol, later defined. Here, we invalidly
# incremented the h->plt.refcount (from -1) as part of that relocation
# processing. There are some PLTGOT relocations. As there are no
# circumstances requiring a PLT entry for this symbol, its PLT entry
# can be eliminated and the PLTGOT relocations can be made to a static
# element in the GOT, relocated with the absolute-to-relative
# R_CRIS_RELATIVE relocation without symbol lookup. As part of
# eliminating unneeded PLT entries (and PLTGOT to "static" GOT
# elimination), a later pass noticed the inconsistency through an
# assert.
#
# The key points in this dump that may need future adjustments are the
# single dynamic relocation, that the dsofn symbol it points to, is
# local, its absence from the dynamic symbol table and that the
# relocation and symbol values match.
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
Offset[ ]+Info[ ]+Type[ ]+Sym\.Value Sym\. Name \+ Addend
[0-9a-f]+ 0+[0-9a-f]+ R_CRIS_RELATIVE[ ]+128
Symbol table '\.dynsym' contains 4 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
+1: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5.*
+2: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_1
+3: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_2
Symbol table '\.symtab' contains [0-9]+ entries:
#...
+[0-9]+: 0+128 +2 FUNC + LOCAL + DEFAULT + 5 dsofn
#...