This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

arm-elf-gcc - disappearing module header



I'm trying to compitle a rommable image for the aeb1C.  The aeb1c has a
bootloader that requires each rommable program to have a module header -
which I have placed in a file called module.c.  This module header is
simply a struct containing static information about the location of the
code, name of module, etc. & is not referenced anywhere else in the
program.  The problem is that this variable disappears when the program
is compiled.  Maybe it gets eliminated because it's never referenced?  I
don't think I have any optimizations turned on - will arm-elf-gcc simply
do this on it's own?  Is there a way to turn it off?

Nicole Cook
PKG_INSTALL_DIR = /home/cook/ecos-work/install

# You must also set XCC to the name of your cross-compiler, including any
# options it needs.

# Uncomment one of the below, or invoke make with the name of the compiler
# you want, e.g.:
#   make XCC="sparclite-elf-gcc -mcpu=sparclite -msoft-float"
# You can also set XCC in your environment

XCC = arm-elf-gcc -mcpu=arm7di                        # AEB

###### VARIABLES
# Any of these can be overriden on the command-line or in your environment

ifeq ($(XCC),sh-elf-gcc)
CFLAGS        = -ggdb
else
CFLAGS        = 
endif

CXXFLAGS      = $(CFLAGS)

EXTRACFLAGS   = -Wall -I$(PKG_INSTALL_DIR)/include -ffunction-sections -fdata-sections

EXTRACXXFLAGS = $(EXTRACFLAGS) -fno-exceptions -fno-rtti -fvtable-gc -finit-priority

LDFLAGS       = -nostartfiles -L$(PKG_INSTALL_DIR)/lib -Wl,--gc-sections
LIBS          = -Ttarget.ld -nostdlib

LD            = $(XCC)
XCXX          = $(XCC)

###### RULES

.PHONY: all clean CCCHECK

all: master

clean:
	-rm -f master *.o core

CCCHECK:
ifeq ($(XCC),)
	@echo You must set XCC to the name of your cross-compiler
	@false
endif


%.o: %.c
	$(XCC) -c -o  $*.o $(CFLAGS) $(EXTRACFLAGS) $<


master:	CCCHECK module.o master.o mascom.o masparser.o 
	$(LD) $(LDFLAGS) -o master module.o master.o mascom.o masparser.o  $(LIBS)





------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]