aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-07-31 12:50:09 +0000
committerNick Clifton <nickc@redhat.com>2002-07-31 12:50:09 +0000
commitf7c33884fa544b222c98aee4a34c47686f62229f (patch)
treed9d76352ac488fc9361b324b7850ebc1d18e3456 /ld
parent8f64befb294f61bb55b79152b628a332dc1d2e3b (diff)
downloadgdb-f7c33884fa544b222c98aee4a34c47686f62229f.zip
gdb-f7c33884fa544b222c98aee4a34c47686f62229f.tar.gz
gdb-f7c33884fa544b222c98aee4a34c47686f62229f.tar.bz2
Add new field to bfd_link structure and use it to control how common symbols
are extracted from archives.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/emulparams/ns32knbsd.sh1
-rw-r--r--ld/emultempl/netbsd.em9
-rw-r--r--ld/ldmain.c1
4 files changed, 20 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 6a59826..87d6937 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * emultempl/netbsd.em (LDEMUL_BEFORE_PARSE): New file to custom set
+ link_info.common_skip_ar_aymbols.
+ * emulparams/ns32knbsd.sh (EXTRA_EM_FILE): Refer to extra file.
+
+ * ldmain.c (main): Initialize new field
+ link_info.common_skip_ar_aymbols.
+
2002-07-31 Adam Nemet <anemet@lnxw.com>
* emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable. Set it
diff --git a/ld/emulparams/ns32knbsd.sh b/ld/emulparams/ns32knbsd.sh
index 7c6d542..2ded301 100644
--- a/ld/emulparams/ns32knbsd.sh
+++ b/ld/emulparams/ns32knbsd.sh
@@ -5,3 +5,4 @@ TARGET_PAGE_SIZE=0x1000
ARCH=ns32k
EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
NONPAGED_TEXT_START_ADDR=0x1000
+EXTRA_EM_FILE=netbsd
diff --git a/ld/emultempl/netbsd.em b/ld/emultempl/netbsd.em
new file mode 100644
index 0000000..4ad564b
--- /dev/null
+++ b/ld/emultempl/netbsd.em
@@ -0,0 +1,9 @@
+LDEMUL_BEFORE_PARSE=gldnetbsd_before_parse
+cat >>e${EMULATION_NAME}.c <<EOF
+static void
+gldnetbsd_before_parse ()
+{
+ gld${EMULATION_NAME}_before_parse ();
+ link_info.common_skip_ar_aymbols = bfd_link_common_skip_text;
+}
+EOF
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 7943a9e..b50ef43 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -264,6 +264,7 @@ main (argc, argv)
link_info.pei386_auto_import = -1;
link_info.combreloc = true;
link_info.spare_dynamic_tags = 5;
+ link_info.common_skip_ar_aymbols = bfd_link_common_skip_none;
ldfile_add_arch ("");