problems with relocatable object files
rtwas
rtwas at comcast.net
Sat Dec 6 11:06:55 UTC 2008
Hello,
I'm trying to move my build tree to the *rtems* was of doing things. Our
project is rather large so
we link using "-r" for later linking into the final executable. It
(relocatable object) compiles and links ok but when I try
to use it in the final linking I get weird errors like:
rpc/gimbalnop/server/o-optimize/TtRpcNopCmdSvr.o: In function `MMUon':
/usr/local/packages/rtos/rtems/4.9/4.9.0/rtems-4.9.0-mvme5500-build.110708.00/powerpc-rtems4.9/c/mvme5500/lib/libbsp/powerpc/mvme5500/../../../../../../../../rtems-4.9.0/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:139:
multiple definition of `MMUon'
/opt/rtems-4.9/powerpc-rtems4.9/mvme5500/lib/mvme5500start.o:/usr/local/packages/rtos/rtems/4.9/4.9.0/rtems-4.9.0-mvme5500-build.110708.00/powerpc-rtems4.9/c/mvme5500/lib/libbsp/powerpc/mvme5500/../../../../../../../../rtems-4.9.0/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:139:
first defined here
rpc/gimbalnop/server/o-optimize/TtRpcNopCmdSvr.o:(.data+0x0): multiple
definition of `__dso_handle'
/opt/rtems-4.9/lib/gcc/powerpc-rtems4.9/4.3.2/m7400/crtbegin.o:(.data+0x0):
first defined here
rpc/gimbalnop/server/o-optimize/TtRpcNopCmdSvr.o:(.got2+0x0): multiple
definition of `__GOT2_START__'
/opt/rtems-4.9/lib/gcc/powerpc-rtems4.9/4.3.2/m7400/ecrti.o:/builddir/build/BUILD/rtems-4.9-powerpc-rtems4.9-gcc-4.3.2/build/gcc/ecrti.S:115:
first defined here
.
.
. etc.
This Makefile I'm using is based on a *working* Makefile that builds
under linux.
After some mods to the original linux Makefile I have something like this:
.
.
.
CSRCS = ${CFILES}
COBJS_ = $(CSRCS:.c=.o)
COBJS = $(COBJS_:%=${ARCH}/%)
include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg
CPPFLAGS += -I../../.. -I../../../include
TARGET = TtRpcNopCmdSvr
all: ${TARGET}.o
%.o: %.c
${COMPILE.c} ${CPPFLAGS} $<
${TARGET}.o: ${COBJS_}
${LINK.c} -o ${ARCH}/${TARGET}.o -r ${COBJS_}
.
.
.
Help appreciated.
Thanks,
Robert W.
More information about the users
mailing list