diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2001-02-28 21:41:57 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2001-02-28 21:41:57 +0300 |
commit | 09ccfcee505586c0427bf0131e727592b9d2c233 (patch) | |
tree | 7d8977bea33bc1c477428a4f2f7cef6b2fe66a4f /libgloss/m68k/sim.ld | |
parent | 2de7601434ab658d7f687d1354da5d02e2682352 (diff) |
2001-02-28 Will Cohen <wcohen@redhat.com>
* src/libgloss/m68k/Makefile.in: Updated copyright and
added rules to build simulator related libraries.
(SIM_SCRIPTS): New variable.
(SIM_LDFLAGS): New variable.
(SIM_BSP): New variable.
(SIM_CRT0): New variable.
(SIM_OBJS): New variable.
(SIM_TEST): New variable.
(SIM_INSTALL): new variable.
* src/libgloss/m68k/sim-abort.c: New file.
* src/libgloss/m68k/sim-crt0.S: New file.
* src/libgloss/m68k/sim-errno.c: New file.
* src/libgloss/m68k/sim-funcs.c: New file.
* src/libgloss/m68k/sim-inbyte.c: New file.
* src/libgloss/m68k/sim-print.c: New file.
* src/libgloss/m68k/sim-sbrk.c: New file.
* src/libgloss/m68k/sim.ld: New file.
* src/libgloss/m68k/simulator.S: New file.
Diffstat (limited to 'libgloss/m68k/sim.ld')
-rw-r--r-- | libgloss/m68k/sim.ld | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/libgloss/m68k/sim.ld b/libgloss/m68k/sim.ld new file mode 100644 index 000000000..b44fd07b3 --- /dev/null +++ b/libgloss/m68k/sim.ld @@ -0,0 +1,87 @@ +STARTUP(sim-crt0.o) +OUTPUT_ARCH(m68k) + +SEARCH_DIR(.) +GROUP(-lsim -lc -lgcc -lsim) +__DYNAMIC = 0; + + +MEMORY +{ + ram (rwx) : ORIGIN = 0x80000000, LENGTH = 1M +} + +PROVIDE (__stack = 0); + +SECTIONS +{ + .text : + { + CREATE_OBJECT_SYMBOLS + *(.text) + + . = ALIGN(0x4); + /* These are for running static constructors and destructors under ELF. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + + *(.rodata) + + . = ALIGN(0x4); + *(.gcc_except_table) + + . = ALIGN(0x4); + *(.eh_frame) + + . = ALIGN(0x4); + __INIT_SECTION__ = . ; + LONG (0x4e560000) /* linkw %fp,#0 */ + *(.init) + SHORT (0x4e5e) /* unlk %fp */ + SHORT (0x4e75) /* rts */ + + . = ALIGN(0x4); + __FINI_SECTION__ = . ; + LONG (0x4e560000) /* linkw %fp,#0 */ + *(.fini) + SHORT (0x4e5e) /* unlk %fp */ + SHORT (0x4e75) /* rts */ + + _etext = .; + *(.lit) + } > ram + + .data : + { + *(.shdata) + *(.data) + _edata = .; + } > ram + + .bss : + { + . = ALIGN(0x4); + __bss_start = . ; + *(.shbss) + *(.bss) + *(COMMON) + _end = ALIGN (0x8); + __end = _end; + } > ram + + .stab 0 (NOLOAD) : + { + *(.stab) + } + + .stabstr 0 (NOLOAD) : + { + *(.stabstr) + } +} |