aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog19
-rwxr-xr-xgold/configure2
-rw-r--r--gold/configure.ac2
-rw-r--r--gold/testsuite/Makefile.am6
-rw-r--r--gold/testsuite/Makefile.in10
-rwxr-xr-xgold/testsuite/discard_locals_test.sh2
-rw-r--r--gold/testsuite/justsyms_exec.c3
-rw-r--r--gold/testsuite/pr14265.t2
-rw-r--r--gold/testsuite/script_test_2.t1
-rw-r--r--gold/testsuite/script_test_3.t1
-rw-r--r--gold/testsuite/script_test_4.t1
-rw-r--r--gold/testsuite/script_test_5.t1
-rw-r--r--gold/testsuite/script_test_6.t1
-rw-r--r--gold/testsuite/script_test_7.t1
-rw-r--r--gold/testsuite/script_test_9.t1
15 files changed, 43 insertions, 10 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index faa228e..72f3085 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,24 @@
2012-09-05 Alan Modra <amodra@gmail.com>
+ * configure.ac (FN_PTRS_IN_SO_WITHOUT_PIC): False for powerpc.
+ * configure: Regenerate.
+ * testsuite/Makefile.am (final_layout.stdout): Pass --synthetic to nm.
+ (plugin_final_layout.stdout): Likewise.
+ (memory_test): Set page sizes to 0x1000.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/discard_locals_test.sh: Add FIXME comment.
+ * testsuite/justsyms_exec.c: Disable function test for powerpc64.
+ * testsuite/pr14265.t: Add .got output section statement.
+ * testsuite/script_test_2.t: Likewise.
+ * testsuite/script_test_3.t: Likewise.
+ * testsuite/script_test_4.t: Likewise.
+ * testsuite/script_test_5.t: Likewise.
+ * testsuite/script_test_6.t: Likewise.
+ * testsuite/script_test_7.t: Likewise.
+ * testsuite/script_test_9.t: Likewise.
+
+2012-09-05 Alan Modra <amodra@gmail.com>
+
* powerpc.cc (Powerpc_relobj::get_opd_ent): Make const.
(Powerpc_relocate_functions::Status): New typedef.
(Target_powerpc::Scan::get_reference_flags): Handle more relocs.
diff --git a/gold/configure b/gold/configure
index 0bffe08..dff9cac 100755
--- a/gold/configure
+++ b/gold/configure
@@ -6279,7 +6279,7 @@ fi
if
case $target_cpu in
- i?86) true;;
+ powerpc*) false;;
x86_64) false;;
sparc64) false;;
*) true;;
diff --git a/gold/configure.ac b/gold/configure.ac
index 05e807b..69fe209 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -304,7 +304,7 @@ dnl tell the unittest framework if we're compiling for one of those
dnl targets, so it doesn't try to run the tests that do that.
AM_CONDITIONAL(FN_PTRS_IN_SO_WITHOUT_PIC, [
case $target_cpu in
- i?86) true;;
+ powerpc*) false;;
x86_64) false;;
sparc64) false;;
*) true;;
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 146c7e0..4840f08 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -228,7 +228,7 @@ final_layout_sequence.txt:
final_layout: final_layout.o final_layout_sequence.txt gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt final_layout.o
final_layout.stdout: final_layout
- $(TEST_NM) -n final_layout > final_layout.stdout
+ $(TEST_NM) -n --synthetic final_layout > final_layout.stdout
check_PROGRAMS += icf_virtual_function_folding_test
MOSTLYCLEANFILES += icf_virtual_function_folding_test
@@ -1535,7 +1535,7 @@ plugin_final_layout.o: plugin_final_layout.cc
plugin_final_layout: plugin_final_layout.o plugin_section_order.so gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -Wl,--plugin,"./plugin_section_order.so" plugin_final_layout.o
plugin_final_layout.stdout: plugin_final_layout
- $(TEST_NM) -n plugin_final_layout > plugin_final_layout.stdout
+ $(TEST_NM) -n --synthetic plugin_final_layout > plugin_final_layout.stdout
plugin_final_layout_readelf.stdout: plugin_final_layout
$(TEST_READELF) -Wl plugin_final_layout > plugin_final_layout_readelf.stdout
@@ -1975,7 +1975,7 @@ MOSTLYCLEANFILES += memory_test.stdout memory_test memory_test.o
memory_test.o: memory_test.s
$(COMPILE) -o $@ -c $<
memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t
- $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -T $(srcdir)/memory_test.t -o $@ memory_test.o
+ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -T $(srcdir)/memory_test.t -o $@ memory_test.o
memory_test.stdout: memory_test
$(TEST_READELF) -lWS $< > $@
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index b937ff0..27b3a90 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -330,7 +330,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7.syms \
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_9.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout.stdout \
-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout.readelf.stdout
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout_readelf.stdout
# Make a copy of two_file_test_1.o, which does not define the symbol _Z4t16av.
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_36 = \
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.err \
@@ -4316,7 +4316,7 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout: final_layout.o final_layout_sequence.txt gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt final_layout.o
@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout.stdout: final_layout
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n final_layout > final_layout.stdout
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic final_layout > final_layout.stdout
@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_virtual_function_folding_test: icf_virtual_function_folding_test.o gcctestdir/ld
@@ -4875,8 +4875,8 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout: plugin_final_layout.o plugin_section_order.so gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--plugin,"./plugin_section_order.so" plugin_final_layout.o
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout.stdout: plugin_final_layout
-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_NM) -n plugin_final_layout > plugin_final_layout.stdout
-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout.readelf.stdout: plugin_final_layout
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_NM) -n --synthetic plugin_final_layout > plugin_final_layout.stdout
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout_readelf.stdout: plugin_final_layout
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -Wl plugin_final_layout > plugin_final_layout_readelf.stdout
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_section_order.so: plugin_section_order.o
@@ -5084,7 +5084,7 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test.o: memory_test.s
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -T $(srcdir)/memory_test.t -o $@ memory_test.o
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -T $(srcdir)/memory_test.t -o $@ memory_test.o
@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test.stdout: memory_test
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -lWS $< > $@
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test.o: gdb_index_test.cc
diff --git a/gold/testsuite/discard_locals_test.sh b/gold/testsuite/discard_locals_test.sh
index 3fc679a..0d0a118 100755
--- a/gold/testsuite/discard_locals_test.sh
+++ b/gold/testsuite/discard_locals_test.sh
@@ -55,8 +55,10 @@ check_non_discarded()
check_discarded "discard_locals_test.syms" "should_be_discarded"
+# FIXME: gcc doesn't generate a .LC0 sym for powerpc64
check_non_discarded "discard_locals_relocatable_test1.syms" ".LC0"
check_discarded "discard_locals_relocatable_test1.syms" "should_be_discarded"
+# FIXME: gcc doesn't generate a .LC0 sym for powerpc64
check_non_discarded "discard_locals_relocatable_test2.syms" ".LC0"
check_discarded "discard_locals_relocatable_test2.syms" "should_be_discarded"
diff --git a/gold/testsuite/justsyms_exec.c b/gold/testsuite/justsyms_exec.c
index 6155147..66702863 100644
--- a/gold/testsuite/justsyms_exec.c
+++ b/gold/testsuite/justsyms_exec.c
@@ -47,7 +47,10 @@ check(void *sym, long v, const char *name)
int
main(void)
{
+#ifndef __powerpc64__
+ /* PowerPC64 uses function descriptors. */
check(exported_func, 0x1000200, "exported_func");
+#endif
check(&exported_data, 0x2000000, "exported_data");
return errs;
}
diff --git a/gold/testsuite/pr14265.t b/gold/testsuite/pr14265.t
index eec56e7..e6d163a 100644
--- a/gold/testsuite/pr14265.t
+++ b/gold/testsuite/pr14265.t
@@ -15,6 +15,8 @@ SECTIONS
KEEP(*(.foo2.*))
__foo2_end = .;
}
+
+ .got : { *(.got .toc) }
}
diff --git a/gold/testsuite/script_test_2.t b/gold/testsuite/script_test_2.t
index 6a0188f..81ed9aa 100644
--- a/gold/testsuite/script_test_2.t
+++ b/gold/testsuite/script_test_2.t
@@ -32,6 +32,7 @@ SECTIONS
. += 0x100000;
. = ALIGN(0x100);
.data : { *(.data) }
+ .got : { *(.got .toc) }
.bss : { *(.bss) }
/* Now the real test. */
diff --git a/gold/testsuite/script_test_3.t b/gold/testsuite/script_test_3.t
index c97099c..9c75194 100644
--- a/gold/testsuite/script_test_3.t
+++ b/gold/testsuite/script_test_3.t
@@ -35,6 +35,7 @@ SECTIONS
. = ALIGN(0x100);
.dynamic : { *(.dynamic) } :data :dynamic
.data : { *(.data) } :data
+ .got : { *(.got .toc) }
.tdata : { *(.tdata*) } :data :tls
.tbss : { *(.tbss*) } :data :tls
. += 0x100000;
diff --git a/gold/testsuite/script_test_4.t b/gold/testsuite/script_test_4.t
index 9841773..f5569c5 100644
--- a/gold/testsuite/script_test_4.t
+++ b/gold/testsuite/script_test_4.t
@@ -37,6 +37,7 @@ SECTIONS
. = ALIGN(0x100);
.dynamic : { *(.dynamic) }
.data : { *(.data) }
+ .got : { *(.got .toc) }
. += 0x100000;
. = ALIGN(0x100);
.bss : { *(.bss) }
diff --git a/gold/testsuite/script_test_5.t b/gold/testsuite/script_test_5.t
index fe67c4e..4a7d13f 100644
--- a/gold/testsuite/script_test_5.t
+++ b/gold/testsuite/script_test_5.t
@@ -37,6 +37,7 @@ SECTIONS
. = ALIGN(0x100);
.dynamic : { *(.dynamic) }
.data : { *(.data) }
+ .got : { *(.got .toc) }
. += 0x100000;
. = ALIGN(0x100);
.bss : { *(.bss) }
diff --git a/gold/testsuite/script_test_6.t b/gold/testsuite/script_test_6.t
index 01a8a17..d3127e3 100644
--- a/gold/testsuite/script_test_6.t
+++ b/gold/testsuite/script_test_6.t
@@ -38,6 +38,7 @@ SECTIONS
. = ALIGN(0x100);
.dynamic : { *(.dynamic) }
.data : { *(.data) }
+ .got : { *(.got .toc) }
. += 0x100000;
. = ALIGN(0x100);
.bss : { *(.bss) }
diff --git a/gold/testsuite/script_test_7.t b/gold/testsuite/script_test_7.t
index 7adcf5f..ab2bbee 100644
--- a/gold/testsuite/script_test_7.t
+++ b/gold/testsuite/script_test_7.t
@@ -38,6 +38,7 @@ SECTIONS
. = SEGMENT_START(".data", 0x10200000);
.data : { *(.data) }
+ .got : { *(.got .toc) }
. = SEGMENT_START(".bss", 0x10400000);
.bss : { *(.bss) }
diff --git a/gold/testsuite/script_test_9.t b/gold/testsuite/script_test_9.t
index df055ba..e7138b2 100644
--- a/gold/testsuite/script_test_9.t
+++ b/gold/testsuite/script_test_9.t
@@ -16,6 +16,7 @@ SECTIONS
.data :
{
} :data
+ .got : { *(.got .toc) }
.tdata :
{
*(.tdata*)