aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog28
-rw-r--r--ld/emulparams/.Sanitize2
-rw-r--r--ld/emulparams/shelf.sh16
-rw-r--r--ld/emulparams/shlelf.sh16
4 files changed, 62 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4a37b6b..14a1731 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,33 @@
+Fri Aug 30 18:32:31 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * configure.tgt (sh-*-elf*): New target.
+ * emulparams/shelf.sh: New file.
+ * emulparams/shlelf.sh: New file.
+ * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
+ (eshelf.c, eshlelf.c): New targets.
+ * scripttempl/elf.sc: If EMBEDDED is defined, then don't add
+ SIZEOF_HEADERS to TEXT_START_ADDR. Expand CTOR_START and CTOR_END
+ around .ctors, and DTOR_START and DTOR_END around .dtors. Expand
+ OTHER_RELOCATING_SECTIONS if RELOCATING.
+
+Thu Aug 29 16:57:46 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium
+ pro.
+
Mon Aug 26 12:58:11 1996 Ian Lance Taylor <ian@cygnus.com>
+ * ldgram.y (section): Add opt_nocrossrefs; pass value to
+ lang_enter_overlay.
+ (opt_nocrossrefs): New nonterminal.
+ * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode.
+ * ldlang.c (overlay_nocrossrefs): New static variable.
+ (lang_enter_overlay): Add nocrossrefs parameter.
+ (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs
+ is set. Initialize overlay_nocrossrefs.
+ * ldlang.h (lang_enter_overlay): Update declaration.
+ * ld.texinfo (Overlays): Update documentation.
+
* ldver.c (ldversion): Print GNU ld in the version message.
Thu Aug 22 17:10:40 1996 Ian Lance Taylor <ian@cygnus.com>
diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize
index 402a9e1..52bc53e 100644
--- a/ld/emulparams/.Sanitize
+++ b/ld/emulparams/.Sanitize
@@ -122,7 +122,9 @@ ppcpe.sh
riscix.sh
sa29200.sh
sh.sh
+shelf.sh
shl.sh
+shlelf.sh
sparcaout.sh
sparclynx.sh
sparcnbsd.sh
diff --git a/ld/emulparams/shelf.sh b/ld/emulparams/shelf.sh
new file mode 100644
index 0000000..a392e93
--- /dev/null
+++ b/ld/emulparams/shelf.sh
@@ -0,0 +1,16 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sh"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE=128
+ARCH=sh
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED=yes
+
+# These are for compatibility with the COFF toolchain.
+ENTRY=start
+CTOR_START='___ctors = .;'
+CTOR_END='___ctors_end = .;'
+DTOR_START='___dtors = .;'
+DTOR_END='___dtors_end = .;'
+OTHER_RELOCATING_SECTIONS='.stack 0x30000 : { _stack = .; *(.stack) }'
diff --git a/ld/emulparams/shlelf.sh b/ld/emulparams/shlelf.sh
new file mode 100644
index 0000000..93777f6
--- /dev/null
+++ b/ld/emulparams/shlelf.sh
@@ -0,0 +1,16 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-shl"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE=128
+ARCH=sh
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED=yes
+
+# These are for compatibility with the COFF toolchain.
+ENTRY=start
+CTOR_START='___ctors = .;'
+CTOR_END='___ctors_end = .;'
+DTOR_START='___dtors = .;'
+DTOR_END='___dtors_end = .;'
+OTHER_RELOCATING_SECTIONS='.stack 0x30000 : { _stack = .; *(.stack) }'