Hi all, I am porting an application that works on x86, linux-2.6.38.8+xenomai-2.5.2, compiler gcc-4.3.2; on ARM cortexA9; linux-3.2.21+xenomai-2.6.1. compiler is gcc-4.4.6 from crosstools.
The application uses shared memory between 2 processes, and I have noticed that my "mmap" call fails on ARM, whereas it works on x86. After a few investigation, I have found out that the reason was somewhere in a Makefile. The application uses the posix, rtdm, and native skins. Thus I have something like: XENO_CONFIG+=$(DESTCMD) $(SYSROOT)/usr/bin/xeno-config XENO_FLAGS+=$(shell $(XENO_CONFIG) --skin=posix --ldflags) XENO_FLAGS+=$(shell $(XENO_CONFIG) --skin=rtdm --ldflags) XENO_FLAGS+=$(shell $(XENO_CONFIG) --skin=native --ldflags) And since it makes quite big command lines, this was added at a time: # Remove duplicate options LDFLAGS=$(sort $(GENERIC_LDFLAGS) $(XENO_FLAGS)) removing the "sort" basically results in putting back "-lnative" at the end of the 'ld' line and fixes the issue. I am just curious to understand what is happening, if is is expected or an ld issue of my given version, because I thought that the "-l" options order was not important (and is apparently not on x86). Thanks Thierry _______________________________________________ Xenomai mailing list Xenomai@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai