Hello, I have a question about gcc3.3.1. Compiling source codes when using gcc3.3.1, I encounter the link error. <<< error messages >>> make[1]: Leaving directory `/home/mvista/u-boot-1.1.1-mips1022/post/cpu' mips_fp_le-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -DDEBUG -Os -D__KERNEL__ -DTEXT_BASE=0xbfc00000 -I/home/mvista/u-boot-1.1.1-mips1022/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include -pipe -DCONFIG_MIPS -D__MIPS__ -march=4kc -mabicalls -c -o cpu/mips/start.o /home/mvista/u-boot-1.1.1-mips1022/cpu/mips/start.S /home/mvista/u-boot-1.1.1-mips1022/cpu/mips/start.S: Assembler messages: /home/mvista/u-boot-1.1.1-mips1022/cpu/mips/start.S:247: Error: Cannot branch to undefined symbol. /home/mvista/u-boot-1.1.1-mips1022/cpu/mips/start.S:252: Error: Cannot branch to undefined symbol. /home/mvista/u-boot-1.1.1-mips1022/cpu/mips/start.S:264: Error: Cannot branch to undefined symbol. make: *** [cpu/mips/start.o] Error 1 However, ".globl memsetup" is defined by the source code of (*2). Did anyone encounter the same error ? In addition, this error is not generated in gcc3.2.3. (*1):u-boot-1.1.1/cpu/mips/start.S /* Initialize any external memory. */ bal memsetup /* <<< error occured */ nop (*2):u-boot-1.1.1/board/dbau1x00/memsetup.S .text .set noreorder .set mips32 .globl memsetup memsetup: /* * Step 1) Establish CPU endian mode. * Db1500-specific: * Switch S1.1 Off(bit7 reads 1) is Little Endian * Switch S1.1 On (bit7 reads 0) is Big Endian */ li t0, MEM_STCFG1 Best regards, Nyauyama.