Enable ld to build for RCE. This is not tested yet!
authorMichael Tiemann <tiemann@cygnus>
Fri, 25 Nov 1994 17:06:38 +0000 (17:06 +0000)
committerMichael Tiemann <tiemann@cygnus>
Fri, 25 Nov 1994 17:06:38 +0000 (17:06 +0000)
ld/.Sanitize
ld/Makefile.in
ld/config/rce-aout.mt
ld/emulparams/.Sanitize
ld/emulparams/rce.sh [new file with mode: 0644]
ld/scripttempl/.Sanitize
ld/scripttempl/rce.sc [new file with mode: 0644]

index 865332d2a950852e572bfb5f5be31eab2c99a387..5f822d5357bee744bdad3e200013e998b9799e33 100644 (file)
@@ -106,7 +106,7 @@ else
        done
 fi
 
-rce_files="configure.in"
+rce_files="configure.in Makefile.in"
 
 if ( echo $* | grep keep\-rce > /dev/null ) ; then
        for i in $rce_files ; do
index 826a8fec057ee680652460589b28275dccc405bc..ac8f5edaf19ebb65506b67ae229a6d9ef802e613 100644 (file)
@@ -459,6 +459,11 @@ ens32knbsd.c:      $(srcdir)/emulparams/ns32knbsd.sh \
 esparcnbsd.c:  $(srcdir)/emulparams/sparcnbsd.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} sparcnbsd
+# start-santize-rce
+erce.c: $(srcdir)/emulparams/rce.sh \
+  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/rce.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} rce
+# end-santize-rce
 
 $(LD_PROG): $(OFILES) $(BFDLIB) $(LIBIBERTY)
        $(CC) $(CFLAGS) $(LDFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(EXTRALIBS)
index e053df992ec17e4a48645ed0b01b87521aa3ae7c..93505509ba46ff6eb4a53cdb116f05949f0b93e3 100644 (file)
@@ -1 +1 @@
-EMUL=sopaout
+EMUL=rce
index 3c5947b55529806ea520a13a0bb1096f333e8ad3..0709de38cfc49a21bda9553aa8329a648653fb85 100644 (file)
 
 Do-first:
 
+rce_files="rce.sh"
+
+if ( echo $* | grep keep\-rce > /dev/null ) ; then
+       keep_these_too="${rce_files} ${keep_these_too}"
+else
+       lose_these_too="${rce_files} ${lose_these_too}"
+fi
 
 # All files listed between the "Things-to-keep:" line and the
 # "Do-last:" line will be kept.  All other files will be removed.
diff --git a/ld/emulparams/rce.sh b/ld/emulparams/rce.sh
new file mode 100644 (file)
index 0000000..e32615e
--- /dev/null
@@ -0,0 +1,5 @@
+SCRIPT_NAME=rce
+OUTPUT_FORMAT="aout-rce"
+TEXT_START_ADDR=0x8000
+PAGE_SIZE=128
+ARCH=rce
index 67656eede7e0c21e2c6698f515dceae4ff9f841c..8b816be6ac44676b907cf63b4de38d4ce821ea13 100644 (file)
 
 Do-first:
 
+rce_files="rce.sc"
+
+if ( echo $* | grep keep\-rce > /dev/null ) ; then
+       keep_these_too="${rce_files} ${keep_these_too}"
+else
+       lose_these_too="${rce_files} ${lose_these_too}"
+fi
 
 # All files listed between the "Things-to-keep:" line and the
 # "Do-last:" line will be kept.  All other files will be removed.
diff --git a/ld/scripttempl/rce.sc b/ld/scripttempl/rce.sc
new file mode 100644 (file)
index 0000000..bd763cb
--- /dev/null
@@ -0,0 +1,54 @@
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+MEMORY {
+       ram   : o = 0x1000, l = 512k
+       }
+
+SECTIONS                               
+{                                      
+.text :
+       {                                       
+         *(.text)                              
+         *(.strings)
+        ${RELOCATING+ _etext = . ; }
+       } ${RELOCATING+ > ram}
+
+
+.tors   : {
+       ___ctors = . ;
+       *(.ctors)
+       ___ctors_end = . ;
+       ___dtors = . ;
+       *(.dtors)
+       ___dtors_end = . ;
+}  ${RELOCATING+ > ram}
+
+.data  :
+       {
+       *(.data)
+       ${RELOCATING+ _edata = . ; }
+       } ${RELOCATING+ > ram}
+.bss  :
+       {
+       ${RELOCATING+ _bss_start = . ; }
+       *(.bss)
+       *(COMMON)
+       ${RELOCATING+ _end = . ;  }
+       } ${RELOCATING+ >ram}
+.stack ${RELOCATING+ 0x30000 }  : 
+       {
+       ${RELOCATING+ _stack = . ; }
+       *(.stack)
+       } ${RELOCATING+ > ram}
+  .stab  0 ${RELOCATING+(NOLOAD)} : 
+  {
+    [ .stab ]
+  }
+  .stabstr  0 ${RELOCATING+(NOLOAD)} :
+  {
+    [ .stabstr ]
+  }
+}
+EOF