[EMAIL PROTECTED] wrote:
 > when I try to link the posix demo satch.c statically by inserting a
 > "-static" option to the LDFLAGS ( %_rt: LDFLAGS= -static $(LDFLAGS_RT) )
 > I get a lot of Errors about undefined references :
 > e.g.:
 > undefined reference to `__wrap_timer_settime'
 > relocation truncated to fit: R_PPC_REL24 __wrap_timer_settime 
 > 
 > Does anybody know what I have done wrong, or is static linking not
 > supposed to be used.

I am afraid you are the first to ever try static linking. The issue is
that the --wrap directive is also applied to the symbols of the static
versions of the regular pthread and rt libraries. In order to avoid
that, I only see one solution (if you are really willing to statically
link the system pthread and rt libraries). First partially link the
satch_rt.o object with the libpthread_rt lib, with all the --wrap
options, and then link this partially linked object with the -lpthread
and -lrt libraries without the --wrap directives.

The following Makefile snippet attempts to do this.

-- 


                                            Gilles Chanteperdrix.

LIBDIR=$(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --libdir)

STAGE1_LDFLAGS:=$(patsubst %,--wrap %,$(shell cat $(LIBDIR)/posix.wrappers))
STAGE1_LDFLAGS+=-L$(LIBDIR) -lpthread_rt
STAGE2_LDFLAGS:=-static -lpthread -lrt

%_rt.stage1.o: %_rt.o
        $(LD) -o $@ -r $< $(STAGE1_LDFLAGS)

%_rt: %_rt.stage1.o
        $(CC) -o $@ $< $(STAGE2_LDFLAGS)

_______________________________________________
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help

Reply via email to