#...
-[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLO(T|) +[a-f0-9]+ +indirect_extern_access( \+ 0|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLO(T|) +[a-f0-9]+ +indirect_extern_access( \+ [a-f0-9]+|)
#...
Displaying notes found in: .note.gnu.property
[ ]+Owner[ ]+Data size[ ]+Description
Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
+Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|)
-[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo( \+ 0|)
+[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo( \+ [a-f0-9]+|)
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
#source: ifunc-16-x86.s
#as: --64
-#ld: -z now -shared -melf_x86_64
+#ld: -z now -z nomark-plt -shared -melf_x86_64
#readelf: -r --wide
#target: x86_64-*-*
#source: ifunc-16-x86.s
#as: --64
-#ld: -shared -melf_x86_64
+#ld: -z nomark-plt -shared -melf_x86_64
#readelf: -r --wide
#target: x86_64-*-*
#source: ifunc-2-local-x86-64.s
#as: --64
-#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code -z nomark-plt $NO_DT_RELR_LDFLAGS
#objdump: -dw
#target: x86_64-*-*
#as: --64
-#ld: -shared -melf_x86_64 --hash-style=sysv -z noseparate-code
+#ld: -shared -melf_x86_64 --hash-style=sysv -z noseparate-code -z nomark-plt
#objdump: -dw
#target: x86_64-*-*
#source: ifunc-2-x86-64.s
#as: --64
-#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code -z nomark-plt $NO_DT_RELR_LDFLAGS
#objdump: -dw
#target: x86_64-*-*
#as: --64
-#ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
+#ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code -z nomark-plt
#objdump: -dw
#target: x86_64-*-*
#source: ifunc-20.s
-#ld: -shared -m elf_x86_64 -z nocombreloc
+#ld: -shared -m elf_x86_64 -z nocombreloc -z nomark-plt
#as: --64
#readelf: -r --wide
#target: x86_64-*-*
Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
+Offset +Info +Type +Sym.* Value +Symbol's Name.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_JUMP_SLOT +foo\(\) +foo( \+ 0|)
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_JUMP_SLOT +foo\(\) +foo( \+ [0-9a-f]+|)
#source: ifunc-5-x86-64.s
#as: --64
-#ld: -melf_x86_64 -shared -z nocombreloc
+#ld: -melf_x86_64 -shared -z nocombreloc -z nomark-plt
#readelf: -r --wide
#target: x86_64-*-*
#source: pr17154-x86.s
#as: --64
-#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code -z nomark-plt $NO_DT_RELR_LDFLAGS
#objdump: -dw
#target: x86_64-*-*
#source: pr17154-x86.s
#as: --64
-#ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code -z nomark-plt $NO_DT_RELR_LDFLAGS
#objdump: -dw
#target: x86_64-*-*
#source: dt-relr-1.s
#as: --x32
-#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS
+#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nomark-plt
#readelf: -r -s --wide
#target: x86_64-*-linux*
#source: dt-relr-1.s
#as: --64
-#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS
+#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nomark-plt
#readelf: -r -s --wide
#target: x86_64-*-linux*
#source: dt-relr-1.s
#as: --x32
-#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nocombreloc
+#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nocombreloc -z nomark-plt
#readelf: -r -s --wide
#target: x86_64-*-linux*
#source: dt-relr-1.s
#as: --64
-#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nocombreloc
+#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nocombreloc -z nomark-plt
#readelf: -r -s --wide
#target: x86_64-*-linux*
#source: ibt-plt-2.s
#as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
.*: +file format .*
#source: ibt-plt-2.s
#as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
.*: +file format .*
#source: ibt-plt-3.s
#as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
.*: +file format .*
#source: ibt-plt-3.s
#as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
.*: +file format .*
#source: pr19636-2.s
#as: --64 -mrelax-relocations=no
-#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
.*: +file format .*
#source: pr19636-2.s
#as: --64 -mrelax-relocations=no
-#ld: -shared -m elf_x86_64 --no-dynamic-linker
+#ld: -shared -m elf_x86_64 --no-dynamic-linker -z nomark-plt
#readelf : -r --wide --dyn-syms
Relocation section '\.rela\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
#source: pr19636-2.s
#as: --64 -mrelax-relocations=no
-#ld: -shared -Bsymbolic -m elf_x86_64 --no-dynamic-linker
+#ld: -shared -Bsymbolic -m elf_x86_64 --no-dynamic-linker -z nomark-plt
#readelf : -r --wide --dyn-syms
Relocation section '\.rela\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
#source: pr19636-2.s
#as: --64 -mrelax-relocations=no
-#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv -z dynamic-undefined-weak -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
+#ld: -pie -m elf_x86_64 --no-dynamic-linker --hash-style=sysv -z dynamic-undefined-weak -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS -z nomark-plt
#objdump: -dw
#warning: -z dynamic-undefined-weak ignored
"--64" {tlslib.s} {} "libtlslib.so"}
{"TLS -fpic and -fno-pic exec transitions"
"-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000 --hash-style=sysv" ""
"--64" {tlsbinpic.s tlsbin.s}
{{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
"tlsbindesc"}
{"TLS with global dynamic and descriptors"
"-shared -melf_x86_64 --no-ld-generated-unwind-info \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000 --hash-style=sysv" ""
"--64" {tlsgdesc.s}
{{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text\ -Mintel64 tlsgdesc.dd}}
[list \
"TLS -fpic -shared transitions" \
"-shared -melf_x86_64 --no-ld-generated-unwind-info \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000 --hash-style=sysv \
$NO_DT_RELR_LDFLAGS" \
"" "--64" \
[list \
"TLS -fpic -shared transitions with r15 as GOT base" \
"-shared -melf_x86_64 --no-ld-generated-unwind-info \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000 --hash-style=sysv \
$NO_DT_RELR_LDFLAGS" \
"" "--64 -mrelax-relocations=yes" \
[list \
"TLS descriptor -fpic -shared transitions" \
"-shared -melf_x86_64 --no-ld-generated-unwind-info \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000 --hash-style=sysv \
$NO_DT_RELR_LDFLAGS" \
"" "--64" \
[list \
"basic PLT generation (-z now)" \
"-z now -melf_x86_64 --hash-style=sysv tmpdir/libpltlib.so \
+ -z nomark-plt \
-z noseparate-code -z max-page-size=0x200000" \
"" \
"--64" \