From 7db9cdd24e884d70f3444fcd3abdf87b0df24479 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 22 Feb 2006 18:02:54 +0000 Subject: [PATCH] 2006-02-22 Nathan Sidwell * m68k/Makefile.in (CF_SCRIPTS): New. (all): Add CF_SCRIPTS. (m5208evb.ld, m5213evb.ld, m5235evb.ld, m5272c3.ld, m5282evb.ld): New targets (install): Iterate over CF_SCRIPTS. * m68k/crt0.S: Don't use dbra on any cf chips. * m68k/dbug-cf.sc: New. --- libgloss/ChangeLog | 10 ++++ libgloss/m68k/Makefile.in | 22 +++++++- libgloss/m68k/crt0.S | 2 +- libgloss/m68k/dbug-cf.sc | 112 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 libgloss/m68k/dbug-cf.sc diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index f3e323deb..391aae251 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,13 @@ +2006-02-22 Nathan Sidwell + + * m68k/Makefile.in (CF_SCRIPTS): New. + (all): Add CF_SCRIPTS. + (m5208evb.ld, m5213evb.ld, m5235evb.ld, m5272c3.ld, + m5282evb.ld): New targets + (install): Iterate over CF_SCRIPTS. + * m68k/crt0.S: Don't use dbra on any cf chips. + * m68k/dbug-cf.sc: New. + 2006-02-07 Paul Brook * arm/crt0.S: Add Thumb-2 startup code. diff --git a/libgloss/m68k/Makefile.in b/libgloss/m68k/Makefile.in index 5df402288..8faf5ffcf 100644 --- a/libgloss/m68k/Makefile.in +++ b/libgloss/m68k/Makefile.in @@ -123,6 +123,8 @@ IDPGDB_OBJS= leds.o idp-inbyte.o idp-gdb-outbyte.o mc68ec.o DBUG_BSP= libdbug.a DBUG_OBJS= dbug-exit.o dbug-inbyte.o dbug-outbyte.o +CF_SCRIPTS= m5208evb.ld m5213evb.ld m5235evb.ld m5272c3.ld m5282evb.ld + # Host specific makefile fragment comes in here. @host_makefile_frag@ @@ -130,7 +132,7 @@ DBUG_OBJS= dbug-exit.o dbug-inbyte.o dbug-outbyte.o # build a test program for each target board. Just trying to get # it to link is a good test, so we ignore all the errors for now. # -all: ${SIM_CRT0} ${SIM_BSP} ${CRT0} ${BCC_BSP} ${IDP_BSP} ${IDPGDB_BSP} ${MVME135_BSP} ${MVME162_BSP} ${DBUG_BSP} +all: ${SIM_CRT0} ${SIM_BSP} ${CRT0} ${BCC_BSP} ${IDP_BSP} ${IDPGDB_BSP} ${MVME135_BSP} ${MVME162_BSP} ${DBUG_BSP} ${CF_SCRIPTS} # # here's where we build the board support packages for each target @@ -163,6 +165,21 @@ ${MVME162_BSP}: $(OBJS) ${MVME162_OBJS} ${AR} ${ARFLAGS} $@ $(OBJS) ${MVME162_OBJS} ${RANLIB} $@ +m5208evb.ld: dbug-cf.sc Makefile + RAMSTART=1024M RAMSIZE=16M RAMDBUG=128K ${SHELL} $< > $@ + +m5213evb.ld: dbug-cf.sc Makefile + RAMSTART=512M RAMSIZE=32K RAMDBUG=8K ${SHELL} $< > $@ + +m5235evb.ld: dbug-cf.sc Makefile + RAMSTART=0M RAMSIZE=16M RAMDBUG=64K ${SHELL} $< > $@ + +m5272c3.ld: dbug-cf.sc Makefile + RAMSTART=0M RAMSIZE=4M RAMDBUG=128K ${SHELL} $< > $@ + +m5282evb.ld: dbug-cf.sc Makefile + RAMSTART=0M RAMSIZE=16M RAMDBUG=64K ${SHELL} $< > $@ + leds.o: ${srcdir}/leds.c $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -c $< @@ -283,6 +300,9 @@ install: $(INSTALL_PROGRAM) $(DBUG_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(DBUG_BSP) $(INSTALL_DATA) ${srcdir}/sbc5204.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/sbc5204.ld $(INSTALL_DATA) ${srcdir}/sbc5206.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/sbc5206.ld + for script in $(CF_SCRIPTS) ; \ + do $(INSTALL_DATA) $$script $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$script ; \ + done # target specific makefile fragment comes in here. @target_makefile_frag@ diff --git a/libgloss/m68k/crt0.S b/libgloss/m68k/crt0.S index 321b97f03..1aa0dd6bb 100644 --- a/libgloss/m68k/crt0.S +++ b/libgloss/m68k/crt0.S @@ -84,7 +84,7 @@ SYM (start): subql IMM(1), d0 2: clrb (a0)+ -#if !defined(__mcoldfire__) && !defined(__mcf5200__) +#if !defined(__mcoldfire__) dbra d0, 2b clrw d0 subql IMM(1), d0 diff --git a/libgloss/m68k/dbug-cf.sc b/libgloss/m68k/dbug-cf.sc new file mode 100644 index 000000000..0342ed1fd --- /dev/null +++ b/libgloss/m68k/dbug-cf.sc @@ -0,0 +1,112 @@ +# a linker script template. +# RAMSTART - start of board's ram +# RAMSIZE - size of board's ram +# RAMDBUG - bytes at start of RAM for DBUG use + +cat < ram + + .data : + { + *(.got.plt) *(.got) + *(.shdata) + *(.data .data.*) + _edata = .; + } > ram + + .bss : + { + . = ALIGN(0x4); + __bss_start = . ; + *(.shbss) + *(.bss .bss.*) + *(COMMON) + _end = ALIGN (0x8); + __end = _end; + } > ram + + .stab 0 (NOLOAD) : + { + *(.stab) + } + + .stabstr 0 (NOLOAD) : + { + *(.stabstr) + } +} +EOF