armv4l-unkown-linux-gcc compiler problem!!

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
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
http://web.umr.edu/~gnudoc/single/gcc-2.95.2/gcc.html#SEC22

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

Re: armv4l-unkown-linux-gcc compiler problem!!
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 Cheong wrote:
Quoted text here. Click to load it
vivi/arch/Makefile is like this:
Quoted text here. Click to load it


Site Timeline