armv4l-unkown-linux-gcc compiler problem!!

Jan 28, 2005 1 Replies

Hi, I try to compile a bootloader "vivi" for my strongARM embedded system. However, when i run "make"



/opt/host/armv4l/bin/armv4l-unknown-linux-gcc



-I/root/cheong/gsl/linuette/vivi/include -I/opt/host/armv4l/include/



-Wall -Wstrict-prototypes -O2 -fPIC -fomit-frame-pointer -mapcs-32



-mshort-load-bytes -msoft-float -c -o init/main.o init/main.c



as: ????? `-mapcs-32' make: *** [init/main.o] Error 1


So what is the problem from "-mapcs-32"? As I refer to arm-opion for my gcc-2.95.2

formatting link



It should supported this options!



My gcc compiler is "armv4l-unknown-linux-gcc" and my Makefile under the vivi/arch/Makefile is like this:


-------------------------------------------------------------- # Select CPU dependent flags. Note that order of declaration is important; # the options further down the list override previous items. # # Note! For APCS-26 YOU MUST HAVE AN APCS-26 LIBGCC.A # apcs-y :=-mapcs-32



# This selects which instruction set is used. arch-y := arch-$(CONFIG_CPU_32v4) :=-march=armv4



# This selects how we optimise for the processor. tune-y := tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmi tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100



CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes



-msoft-float AFLAGS +=$(apcs-y) $(arch-y) -mno-fpu -msoft-float



ifeq ($(CONFIG_CPU_32),y) PROCESSOR = armv TEXTADDR = 0x00000000 endif LDSCRIPT = arch/vivi.lds.in



ifeq ($(CONFIG_ARCH_SA1100),y) MACHINE = sa1100 TEXTADDR = 0x00000000 endif



ifeq ($(CONFIG_ARCH_S3C2400),y) MACHINE = s3c2400 ifeq ($(CONFIG_S3C2400_GAMEPARK),y) TEXTADDR = 0x00000000 ifeq ($(CONFIG_S3C2400_GAMEPARK_OSSWITCH),y) TEXTADDR = 0x00100000 endif ifeq ($(CONFIG_S3C2400_GAMEPARK_ON_RAM),y) TEXTADDR = 0x0C000000 endif else TEXTADDR = 0x00000000 endif endif



... ....


Regards, Edward Chan

Hi Chan,

I use a similar processor for a project at work. I've not used the option you're trying to use -mapcs-32. However, I didn't know it was possible to select multiple optimizations for the instruction sets, for example,

tune-y := > tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmi > tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100

The SA1110 is an ARM4 core. What does using the arm9tdmi tuning do for you?

Have you tried the default to see if you're able to build the project without the -mapcs-32.?

Edwin Bland Orange, CA

Chan Ka Che> Hi, I try to compile a bootloader "vivi" for my strongARM embedded

vivi/arch/Makefile is like this:

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required