aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2003-02-28 04:46:04 +0000
committerAlan Modra <amodra@gmail.com>2003-02-28 04:46:04 +0000
commita060b769bbf5d6065ab8345427244d4abbbf08dc (patch)
tree045cc5815a0d2e92be897cc8c2631b45c2a11129
parent3aa97c588690b3606d2585733eda7e300a7d4272 (diff)
downloadfsf-binutils-gdb-a060b769bbf5d6065ab8345427244d4abbbf08dc.zip
fsf-binutils-gdb-a060b769bbf5d6065ab8345427244d4abbbf08dc.tar.gz
fsf-binutils-gdb-a060b769bbf5d6065ab8345427244d4abbbf08dc.tar.bz2
* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combreloc
support when scripts read from files.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/elf32.em23
2 files changed, 28 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 6b2ee9e..6c70294 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
2003-02-28 Alan Modra <amodra@bigpond.net.au>
+ * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combreloc
+ support when scripts read from files.
+
+2003-02-28 Alan Modra <amodra@bigpond.net.au>
+
* ldemul.c (ldemul_parse_args): Return FALSE by default.
* ldemul.h (struct ld_emulation_xfer_struct): Update parse_args
comment.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index cfe6407..28bb8d8 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1503,10 +1503,33 @@ cat >>e${EMULATION_NAME}.c <<EOF
return "ldscripts/${EMULATION_NAME}.xr";
else if (!config.text_read_only)
return "ldscripts/${EMULATION_NAME}.xbn";
+EOF
+if cmp -s ldscripts/${EMULATION_NAME}.x ldscripts/${EMULATION_NAME}.xn; then :
+else
+cat >>e${EMULATION_NAME}.c <<EOF
else if (!config.magic_demand_paged)
return "ldscripts/${EMULATION_NAME}.xn";
+EOF
+fi
+if test -n "$GENERATE_SHLIB_SCRIPT" ; then
+if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
+cat >>e${EMULATION_NAME}.c <<EOF
+ else if (link_info.shared && link_info.combreloc)
+ return "ldscripts/${EMULATION_NAME}.xsc";
+EOF
+fi
+cat >>e${EMULATION_NAME}.c <<EOF
else if (link_info.shared)
return "ldscripts/${EMULATION_NAME}.xs";
+EOF
+fi
+if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
+cat >>e${EMULATION_NAME}.c <<EOF
+ else if (link_info.combreloc)
+ return "ldscripts/${EMULATION_NAME}.xc";
+EOF
+fi
+cat >>e${EMULATION_NAME}.c <<EOF
else
return "ldscripts/${EMULATION_NAME}.x";
}