aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elf/provide-hidden.exp
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-elf/provide-hidden.exp')
-rw-r--r--ld/testsuite/ld-elf/provide-hidden.exp154
1 files changed, 154 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/provide-hidden.exp b/ld/testsuite/ld-elf/provide-hidden.exp
new file mode 100644
index 0000000..7246d11
--- /dev/null
+++ b/ld/testsuite/ld-elf/provide-hidden.exp
@@ -0,0 +1,154 @@
+# Expect script for the PROVIDE_HIDDEN linker script command.
+#
+# Copyright 2013 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+#
+# Written by Maciej W. Rozycki <macro@codesourcery.com>
+#
+
+# Export classes only make sense for ELF shared-library targets.
+if { ![is_elf_format] || ![check_shared_lib_support] } {
+ return
+}
+
+# This target requires extra GAS options when building code for shared
+# libraries.
+set AFLAGS_PIC ""
+if [istarget "tic6x-*-*"] {
+ append AFLAGS_PIC " -mpic -mpid=near"
+}
+
+set testname "PROVIDE_HIDDEN test"
+
+run_ld_link_tests [list \
+ [list \
+ "$testname (auxiliary shared object)" \
+ "-shared -T provide-hidden-s.ld" "" \
+ "$AFLAGS_PIC" \
+ [list provide-hidden-1.s ] \
+ [list "readelf -s provide-hidden-s.nd"] \
+ "provide-hidden-s.so"]]
+
+run_ld_link_tests [list \
+ [list \
+ "$testname 1" \
+ "-T provide-hidden-1.ld" "" \
+ "" \
+ [list provide-hidden-1.s] \
+ [list \
+ [list readelf -s provide-hidden-def.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-1"] \
+ [list \
+ "$testname 2" \
+ "-T provide-hidden-1.ld" "" \
+ "" \
+ [list provide-hidden-2.s] \
+ [list \
+ [list readelf -s provide-hidden-def.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-2"] \
+ [list \
+ "$testname 3" \
+ "-T provide-hidden-1.ld" "" \
+ "" \
+ [list provide-hidden-3.s] \
+ [list \
+ [list readelf -s provide-hidden-sec.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-3"] \
+ [list \
+ "$testname 4" \
+ "-T provide-hidden-1.ld" "tmpdir/provide-hidden-s.so" \
+ "" \
+ [list provide-hidden-3.s] \
+ [list "readelf -s provide-hidden-dynsec.nd"] \
+ "provide-hidden-4"] \
+ [list \
+ "$testname 5" \
+ "-T provide-hidden-1.ld" "" \
+ "" \
+ [list provide-hidden-4.s] \
+ [list \
+ [list readelf -s provide-hidden-sec.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-5"] \
+ [list \
+ "$testname 6" \
+ "-T provide-hidden-1.ld" "tmpdir/provide-hidden-s.so" \
+ "" \
+ [list provide-hidden-4.s] \
+ [list \
+ [list readelf -s provide-hidden-sec.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-6"] \
+ [list \
+ "$testname 7" \
+ "-T provide-hidden-2.ld" "" \
+ "" \
+ [list provide-hidden-1.s] \
+ [list \
+ [list readelf -s provide-hidden-def.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-7"] \
+ [list \
+ "$testname 8" \
+ "-T provide-hidden-2.ld" "" \
+ "" \
+ [list provide-hidden-2.s] \
+ [list \
+ [list readelf -s provide-hidden-def.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-8"] \
+ [list \
+ "$testname 9" \
+ "-T provide-hidden-2.ld" "" \
+ "" \
+ [list provide-hidden-3.s] \
+ [list \
+ [list readelf -s provide-hidden-abs.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-9"] \
+ [list \
+ "$testname 10" \
+ "-T provide-hidden-2.ld" "tmpdir/provide-hidden-s.so" \
+ "" \
+ [list provide-hidden-3.s] \
+ [list "readelf -s provide-hidden-dynabs.nd"] \
+ "provide-hidden-10"] \
+ [list \
+ "$testname 11" \
+ "-T provide-hidden-2.ld" "" \
+ "" \
+ [list provide-hidden-4.s] \
+ [list \
+ [list readelf -s provide-hidden-abs.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-11"] \
+ [list \
+ "$testname 12" \
+ "-T provide-hidden-2.ld" "tmpdir/provide-hidden-s.so" \
+ "" \
+ [list provide-hidden-4.s] \
+ [list \
+ [list readelf -s provide-hidden-abs.nd] \
+ [list readelf -s provide-hidden-dyn.nd]] \
+ "provide-hidden-12"]]