ld: Add tests for -Ur
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 13 Jun 2017 15:18:19 +0000 (08:18 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 13 Jun 2017 15:22:10 +0000 (08:22 -0700)
Test -Ur with __start_SECNAME, __stop_SECNAME, .startof.SECNAME and
.sizeof.SECNAME.  __start_SECNAME and __stop_SECNAME should be defined
to the start and the end of section SECNAME.  .startof.SECNAME and
.sizeof.SECNAME should be undefined.

* testsuite/ld-elf/sizeof.d: New file.
* testsuite/ld-elf/sizeof.s: Likewise.
* testsuite/ld-elf/startof.d: Likewise.
* testsuite/ld-elf/startof.s: Likewise.

ld/ChangeLog
ld/testsuite/ld-elf/sizeof.d [new file with mode: 0644]
ld/testsuite/ld-elf/sizeof.s [new file with mode: 0644]
ld/testsuite/ld-elf/startof.d [new file with mode: 0644]
ld/testsuite/ld-elf/startof.s [new file with mode: 0644]

index 1c812113b181a891bdb667d90f804f68a1ea80a6..309bb3a49f14012d61573c15f7f0a90791e666a3 100644 (file)
@@ -1,3 +1,10 @@
+2017-06-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/ld-elf/sizeof.d: New file.
+       * testsuite/ld-elf/sizeof.s: Likewise.
+       * testsuite/ld-elf/startof.d: Likewise.
+       * testsuite/ld-elf/startof.s: Likewise.
+
 2017-06-13  Renlin Li  <renlin.li@arm.com>
 
        * testsuite/ld-elf/shared.exp (build_tests): Add --no-dynamic-linker
diff --git a/ld/testsuite/ld-elf/sizeof.d b/ld/testsuite/ld-elf/sizeof.d
new file mode 100644 (file)
index 0000000..7cad75a
--- /dev/null
@@ -0,0 +1,11 @@
+#ld: -Ur
+#readelf: -sW
+
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__stop_scnfoo
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +.sizeof.scnfoo
+#pass
diff --git a/ld/testsuite/ld-elf/sizeof.s b/ld/testsuite/ld-elf/sizeof.s
new file mode 100644 (file)
index 0000000..016ac60
--- /dev/null
@@ -0,0 +1,11 @@
+        .section        scnfoo,"aw",%progbits
+        .zero 0x10
+
+        .globl  bar
+        .data
+        .align 8
+        .type   bar, %object
+        .size   bar, 8
+bar:
+        .dc.a   __stop_scnfoo
+        .dc.a  .sizeof. (scnfoo)
diff --git a/ld/testsuite/ld-elf/startof.d b/ld/testsuite/ld-elf/startof.d
new file mode 100644 (file)
index 0000000..cf1f064
--- /dev/null
@@ -0,0 +1,11 @@
+#ld: -Ur
+#readelf: -sW
+
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+ +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +.startof.scnfoo
+#...
+ +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__start_scnfoo
+#pass
diff --git a/ld/testsuite/ld-elf/startof.s b/ld/testsuite/ld-elf/startof.s
new file mode 100644 (file)
index 0000000..982f347
--- /dev/null
@@ -0,0 +1,11 @@
+        .section        scnfoo,"aw",%progbits
+        .zero 0x10
+
+        .globl  bar
+        .data
+        .align 8
+        .type   bar, %object
+        .size   bar, 8
+bar:
+        .dc.a   __start_scnfoo
+        .dc.a  .startof. (scnfoo)