From: Wolfgang Grandegger <wg@domain.hid>
To: xenomai-core <xenomai@xenomai.org>
Subject: [Xenomai-core] Problems with satch.c under Linux 2.4
Date: Tue, 11 Mar 2008 11:10:15 +0100 [thread overview]
Message-ID: <47D65A87.3020004@domain.hid> (raw)
[-- Attachment #1: Type: text/plain, Size: 1213 bytes --]
Hello,
I tried to test the POSIX example program satch.c under Linux 2.4.25 for
PPC. I was able to fix a few issues but the module does still not load.
I have attached a patch for Xenomai 2.4.2 fixing:
- User-space satch: It was necessary to move time.h and signal.h to the
end of the include block to get it compiled (otherwise clockid_t is
defined, etc.)
- User-space satch: It was necessary to move "#define xnprintf printf"
behind the include block, otherwise the linker complains about missing
symbols. I wonder how this can work with 2.6. And what is the status
of xnprintf?
- Makefile: to avoid a mixup of CFLAG definitions for compiling the
user-space and kernel-space part, I renamed CFLAGS to UCFLAGS etc.
(see patch). Note sure if this is an issue for 2.6 as well.
- Makefile: I added -DPRODUCER to the module build with Linux 2.4.
- I got the module build, but insmod fails with:
bash-2.05b# insmod satch.o
satch.o: unresolved symbol shm_unlink
satch.o: unresolved symbol ftruncate
satch.o: unresolved symbol shm_open
satch.o: unresolved symbol munmap
satch.o: unresolved symbol mmap
satch.o: unresolved symbol pse51_shm_close
Any idea why?
Thanks,
Wolfgang.
[-- Attachment #2: xenomai-satch.patch --]
[-- Type: text/x-patch, Size: 2267 bytes --]
+ diff -u xenomai-2.4.2/examples/posix/Makefile.ORIG xenomai-2.4.2/examples/posix/Makefile
--- xenomai-2.4.2/examples/posix/Makefile.ORIG 2007-12-09 11:47:24.000000000 +0100
+++ xenomai-2.4.2/examples/posix/Makefile 2008-03-11 10:51:19.000000000 +0100
@@ -35,16 +35,19 @@
CC=$(shell $(XENOCONFIG) --cc)
-CFLAGS=-DCONSUMER $(shell $(XENOCONFIG) --posix-cflags)
+UCFLAGS=-DCONSUMER $(shell $(XENOCONFIG) --posix-cflags)
-LDFLAGS=$(shell $(XENOCONFIG) --posix-ldflags)
+ULDFLAGS=$(shell $(XENOCONFIG) --posix-ldflags)
# This includes the library path of given Xenomai into the binary to make live
# easier for beginners if Xenomai's libs are not in any default search path.
-LDFLAGS+=-Xlinker -rpath -Xlinker $(shell $(XENOCONFIG) --libdir)
+ULDFLAGS+=-Xlinker -rpath -Xlinker $(shell $(XENOCONFIG) --libdir)
all:: $(APPLICATIONS)
+$(APPLICATIONS): % : %.c
+ $(CC) $(UCFLAGS) -o $@ $< $(ULDFLAGS)
+
clean::
$(RM) $(APPLICATIONS) *.o
@@ -56,6 +59,8 @@
###### KERNEL MODULE BUILD (no change required normally) ######
ifneq ($(MODULES),)
+CC=$(CROSS_COMPILE)gcc
+
### Default to sources of currently running kernel
KSRC ?= /lib/modules/$(shell uname -r)/build
@@ -77,7 +82,7 @@
else
ARCH ?= $(shell uname -i)
-INCLUDE := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/compat -I$(KSRC)/include/xenomai/posix
+INCLUDE := -DPRODUCER -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/compat -I$(KSRC)/include/xenomai/posix
CFLAGS += $(shell $(MAKE) -s -C $(KSRC) CC=$(CC) ARCH=$(ARCH) SUBDIRS=$(PWD) modules) $(INCLUDE)
all:: $(OBJS)
+ diff -u xenomai-2.4.2/examples/posix/satch.c.ORIG xenomai-2.4.2/examples/posix/satch.c
--- xenomai-2.4.2/examples/posix/satch.c.ORIG 2007-12-09 11:47:24.000000000 +0100
+++ xenomai-2.4.2/examples/posix/satch.c 2008-03-11 10:04:54.000000000 +0100
@@ -1,16 +1,18 @@
#ifndef __XENO_SIM__
#ifndef __KERNEL__
#include <stdio.h>
-#define xnprintf printf
#endif
-
-#include <time.h>
#include <errno.h>
#include <unistd.h>
-#include <signal.h>
#include <sys/mman.h>
#include <pthread.h>
#include <mqueue.h>
+#include <signal.h>
+#include <time.h>
+#ifndef __KERNEL__
+#undef xnprintf
+#define xnprintf printf
+#endif
#else /* __XENO_SIM */
#include <posix/posix.h>
#endif /* __XENO_SIM */
next reply other threads:[~2008-03-11 10:10 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-11 10:10 Wolfgang Grandegger [this message]
2008-03-11 10:25 ` [Xenomai-core] Problems with satch.c under Linux 2.4 Gilles Chanteperdrix
2008-03-11 11:43 ` Wolfgang Grandegger
2008-03-11 13:37 ` Gilles Chanteperdrix
2008-03-11 22:59 ` Gilles Chanteperdrix
2008-03-12 10:22 ` Wolfgang Grandegger
2008-03-12 10:36 ` Gilles Chanteperdrix
2008-03-12 12:11 ` Wolfgang Grandegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47D65A87.3020004@domain.hid \
--to=wg@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.