Make sure the linker considers crt0*.o before all files specified on the command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17289 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2008-04-29 06:19:32 +00:00
parent f3d83c7be7
commit 2bbacf89fe
27 changed files with 29 additions and 42 deletions

View file

@ -58,13 +58,6 @@ char *tarbuf = (char *)0x00000040;
extern void reference_system_c(void);
static struct event_queue usb_wait_queue;
/* Dummy stub that creates C references for C functions only used by
assembly - never called */
void reference_files(void)
{
reference_system_c();
}
void show_splash(int timeout, const char *msg)
{
lcd_putsxy( (LCD_WIDTH - (SYSFONT_WIDTH * strlen(msg))) / 2,

View file

@ -4,19 +4,19 @@ ENTRY(start)
#ifdef CPU_COLDFIRE
OUTPUT_FORMAT(elf32-m68k)
INPUT(target/coldfire/crt0.o)
STARTUP(target/coldfire/crt0.o)
#elif defined(CPU_PP)
OUTPUT_FORMAT(elf32-littlearm)
INPUT(target/arm/crt0-pp.o)
STARTUP(target/arm/crt0-pp.o)
#elif defined(CPU_ARM)
OUTPUT_FORMAT(elf32-littlearm)
INPUT(target/arm/crt0.o)
STARTUP(target/arm/crt0.o)
#elif CONFIG_CPU == SH7034
OUTPUT_FORMAT(elf32-sh)
INPUT(target/sh/crt0.o)
STARTUP(target/sh/crt0.o)
#else
OUTPUT_FORMAT(elf32-sh)
INPUT(crt0.o)
STARTUP(crt0.o)
#endif

View file

@ -273,11 +273,5 @@ void __div0(void)
}
#endif
#ifdef BOOTLOADER
void reference_system_c(void)
{
}
#endif
#endif /* CPU_ARM */

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/imx31/crt0.o)
STARTUP(target/arm/imx31/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -4,7 +4,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/imx31/crt0.o)
STARTUP(target/arm/imx31/crt0.o)
#define DRAMSIZE (1 << 20) /* Limit 1 MB for bootloader */

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp.o)
STARTUP(target/arm/crt0-pp.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp-bl.o)
STARTUP(target/arm/crt0-pp-bl.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp.o)
STARTUP(target/arm/crt0-pp.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp-bl.o)
STARTUP(target/arm/crt0-pp-bl.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp.o)
STARTUP(target/arm/crt0-pp.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp-bl.o)
STARTUP(target/arm/crt0-pp-bl.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/pnx0101/crt0-pnx0101.o)
STARTUP(target/arm/pnx0101/crt0-pnx0101.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/s3c2440/crt0.o)
STARTUP(target/arm/s3c2440/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/s3c2440/crt0.o)
STARTUP(target/arm/s3c2440/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp.o)
STARTUP(target/arm/crt0-pp.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/crt0-pp-bl.o)
STARTUP(target/arm/crt0-pp-bl.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/tcc77x/crt0.o)
STARTUP(target/arm/tcc77x/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/tcc780x/crt0.o)
STARTUP(target/arm/tcc780x/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/tcc780x/crt0.o)
STARTUP(target/arm/tcc780x/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -4,7 +4,7 @@ ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/tms320dm320/crt0.o)
STARTUP(target/arm/tms320dm320/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
INPUT(target/arm/tms320dm320/crt0.o)
STARTUP(target/arm/tms320dm320/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-m68k)
INPUT(target/coldfire/crt0.o)
STARTUP(target/coldfire/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -2,7 +2,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-m68k)
INPUT(target/coldfire/crt0.o)
STARTUP(target/coldfire/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-m68k)
INPUT(target/coldfire/crt0.o)
STARTUP(target/coldfire/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -2,7 +2,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-m68k)
INPUT(target/coldfire/crt0.o)
STARTUP(target/coldfire/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)

View file

@ -3,7 +3,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-sh)
INPUT(target/sh/crt0.o)
STARTUP(target/sh/crt0.o)
#define PLUGINSIZE PLUGIN_BUFFER_SIZE
#define CODECSIZE CODEC_SIZE

View file

@ -2,7 +2,7 @@
ENTRY(start)
OUTPUT_FORMAT(elf32-sh)
INPUT(target/sh/crt0.o)
STARTUP(target/sh/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)