* ld-scripts/defined.exp: Run defined2.
+2003-10-08 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * ld-scripts/defined2.d, ld-scripts/defined2.t: New test.
+ * ld-scripts/defined.exp: Run defined2.
+
2003-10-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* ld-elfvsb/elfvsb.exp: xfail non-pic shared library tests for
}
}
}
+
+set prms_id 0
+run_dump_test "defined2"
--- /dev/null
+#ld: -Tdefined2.t
+#nm: -B
+#source: phdrs.s
+
+# Check that arithmetic on DEFINED works.
+# Matching both A and T accounts for formats that can't tell a .text
+# symbol from an absolute symbol (mmo), but matches whatever section that
+# contains an address matching the value. The symbol sym1 is supposed to
+# be in the .text section for all targets, though.
+
+#...
+0+1 [AT] defined1
+0+11 A defined2
+0+100 A defined3
+0+1ff A defined4
+#...
+0+3 T sym1
+#pass
--- /dev/null
+SECTIONS {
+ .text : { *(.text) sym1 = 3 - DEFINED (x); }
+ .data : { *(.data) }
+ .bss : { *(.bss) *(COMMON) }
+}
+defined1 = !DEFINED (x);
+defined2 = DEFINED (defined1) + 16;
+defined3 = DEFINED (defined2) * 256;
+defined4 = 0x200 - DEFINED (defined3);