aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1995-05-18 22:21:18 +0000
committerKen Raeburn <raeburn@cygnus>1995-05-18 22:21:18 +0000
commitff15324f6383f5532d167eba6f4e80f67d94a84a (patch)
tree57677beae66e13583f9d046ed51b2c8e7bac6d91 /ld
parent1b9016457d41c7037e33c2e2267f309ded4ca2a1 (diff)
downloadgdb-ff15324f6383f5532d167eba6f4e80f67d94a84a.zip
gdb-ff15324f6383f5532d167eba6f4e80f67d94a84a.tar.gz
gdb-ff15324f6383f5532d167eba6f4e80f67d94a84a.tar.bz2
Bunch of changes from Richard Earnshaw for generic bi-endian ARM aout targets.
Details in change logs.
Diffstat (limited to 'ld')
-rw-r--r--ld/config/.Sanitize2
-rw-r--r--ld/config/armb-aout.mt1
-rw-r--r--ld/config/arml-aout.mt1
-rw-r--r--ld/emulparams/.Sanitize2
-rw-r--r--ld/emulparams/armaoutb.sh7
-rw-r--r--ld/emulparams/armaoutl.sh7
-rw-r--r--ld/scripttempl/.Sanitize1
-rw-r--r--ld/scripttempl/armaout.sc35
8 files changed, 56 insertions, 0 deletions
diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize
index d0e688c..a4fcf74 100644
--- a/ld/config/.Sanitize
+++ b/ld/config/.Sanitize
@@ -41,6 +41,8 @@ Things-to-keep:
alpha.mt
alphaosf.mh
+armb-aout.mt
+arml-aout.mt
cf-h8300h.mt
coff-a29k.mt
coff-h8300.mt
diff --git a/ld/config/armb-aout.mt b/ld/config/armb-aout.mt
new file mode 100644
index 0000000..5a9985f
--- /dev/null
+++ b/ld/config/armb-aout.mt
@@ -0,0 +1 @@
+EMUL=armaoutb
diff --git a/ld/config/arml-aout.mt b/ld/config/arml-aout.mt
new file mode 100644
index 0000000..7e7d993
--- /dev/null
+++ b/ld/config/arml-aout.mt
@@ -0,0 +1 @@
+EMUL=armaoutl
diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize
index 83e5a4f..570b70a 100644
--- a/ld/emulparams/.Sanitize
+++ b/ld/emulparams/.Sanitize
@@ -42,6 +42,8 @@ Things-to-keep:
README
a29k.sh
alpha.sh
+armaoutb.sh
+armaoutl.sh
coff_sparc.sh
ebmon29k.sh
elf32_sparc.sh
diff --git a/ld/emulparams/armaoutb.sh b/ld/emulparams/armaoutb.sh
new file mode 100644
index 0000000..76cd873
--- /dev/null
+++ b/ld/emulparams/armaoutb.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-big"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+NONPAGED_TEXT_START_ADDRESS=0x8000
+PAGE_SIZE=32768
+ARCH=arm
diff --git a/ld/emulparams/armaoutl.sh b/ld/emulparams/armaoutl.sh
new file mode 100644
index 0000000..bda8501
--- /dev/null
+++ b/ld/emulparams/armaoutl.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-little"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+NONPAGED_TEXT_START_ADDRESS=0x8000
+PAGE_SIZE=32768
+ARCH=arm
diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize
index 46c2242..0e6008a 100644
--- a/ld/scripttempl/.Sanitize
+++ b/ld/scripttempl/.Sanitize
@@ -34,6 +34,7 @@ Things-to-keep:
README
a29k.sc
alpha.sc
+armaout.sc
aout.sc
ebmon29k.sc
elf.sc
diff --git a/ld/scripttempl/armaout.sc b/ld/scripttempl/armaout.sc
new file mode 100644
index 0000000..e9276a8
--- /dev/null
+++ b/ld/scripttempl/armaout.sc
@@ -0,0 +1,35 @@
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+${RELOCATING+${LIB_SEARCH_DIRS}}
+${STACKZERO+${RELOCATING+${STACKZERO}}}
+SECTIONS
+{
+ .text ${RELOCATING+${TEXT_START_ADDR}} :
+ {
+ CREATE_OBJECT_SYMBOLS
+ ${RELOCATING+__stext_ = .;}
+ *(.text)
+ ${PAD_TEXT+${RELOCATING+. = ${DATA_ALIGNMENT};}}
+ ${RELOCATING+_etext = ${DATA_ALIGNMENT};}
+ ${RELOCATING+__etext = ${DATA_ALIGNMENT};}
+ }
+ .data ${RELOCATING+${DATA_ALIGNMENT}} :
+ {
+ ${RELOCATING+__sdata_ = .;}
+ *(.data)
+ ${CONSTRUCTING+CONSTRUCTORS}
+ ${RELOCATING+_edata = .;}
+ ${RELOCATING+__edata = .;}
+ }
+ .bss ${RELOCATING+ SIZEOF(.data) + ADDR (.data)} :
+ {
+ ${RELOCATING+ __bss_start = .};
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+_end = ALIGN(4) };
+ ${RELOCATING+__end = ALIGN(4) };
+ }
+}
+EOF