From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Marc Le Douarain <marc.le-douarain@laposte.net>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai] "illegal instruction", then "rt_task_start()" error -38 (on a 486/no fpu)
Date: Mon, 04 Jun 2012 21:49:40 +0200 [thread overview]
Message-ID: <4FCD1154.2050008@xenomai.org> (raw)
In-Reply-To: <4FCD0BD8.70103@laposte.net>
On 06/04/2012 09:26 PM, Marc Le Douarain wrote:
> Hello,
>
> I've some difficulties to run Xenomai with a little 'hello' example
> (that create/start a task)
> on a target 486 processor (without fpu).
>
> I successfully compiled the Linux kernel 2.6.38.8 with
> adeos-ipipe-2.6.38.8-x86-2.11-02.patch (Xenomai version is 2.5.6)
> (modify file xenomai-2.5.6/include/asm-x86/calibration.h
> "current_cpu_data"->"cpu_info" were required)
>
> dmesg extract:
> [ 0.000000] I-pipe 2.11-02: pipeline enabled.
> ...
> [ 0.140008] CPU: Cyrix Cx486SLC
> ...
> [ 1.440804] Xenomai: hal/i386 started.
> [ 1.448804] Xenomai: scheduling class idle registered.
> [ 1.452804] Xenomai: scheduling class rt registered.
> [ 1.488806] Xenomai: real-time nucleus v2.5.6 (Wormhole Wizards) loaded.
> [ 1.496807] Xenomai: starting native API services.
> [ 1.500807] Xenomai: starting POSIX services.
> [ 1.504807] Xenomai: starting RTDM services.
>
> After compiling user-space Xenomai part with
> ./configure --disable-x86-sep --disable-x86-tsc / make / sudo make install
> and copy /usr/xenomai/lib on the target
> I've got "illegal instruction" with my little 'hello test' example that
> create/start a task.
>
> Then I've tried to add flag to set 486 instruction set to gcc...
> For that, to compile user-space this time I used :
> ./configure CFLAGS="-march=i486" LDFLAGS="-march=i486" --disable-x86-sep
> --disable-x86-tsc / make / sudo make install
> Now, at rt_task_start, I've got an error code -38 !
>
> Any one have an idea on the trouble ?
> (at start thinking on the fpu missing, but seems not to be used !? no
> libm dependance)
The program may use fpu instructions without linking to libm. If you
want to be sure that there will be no fpu instructions, you should pass
-msoft-float. But I do not think the x86 compiler will generate fpu
instructions if you do not use floating point variables (but that
remains to be proved, the simpler way to know is to look at the
disassembly).
> void catch_signal( int sig )
> {
> }
>
> int main (void)
> {
> int err;
>
> printf("starting...\n");
>
> signal( SIGTERM,catch_signal );
> signal( SIGINT,catch_signal );
This looks like a bad idea. It means that if the user presses ctrl-C or
send a SIGTERM, nothing will happens. As a user, how much do you like
programs which do not react to ctrl-C? And anyway, you can not prevent
the user from sending a SIGKILL. So, catching SIGTERM and SIGINT this
way seems pointless.
--
Gilles.
prev parent reply other threads:[~2012-06-04 19:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 19:26 [Xenomai] "illegal instruction", then "rt_task_start()" error -38 (on a 486/no fpu) Marc Le Douarain
2012-06-04 19:28 ` Gilles Chanteperdrix
2012-06-04 21:13 ` xenophile
2012-06-10 18:44 ` Marc Le Douarain
2012-06-10 20:09 ` Gilles Chanteperdrix
2012-06-10 20:19 ` xenophile
[not found] ` <4FD61BF8.9090901@laposte.net>
2012-06-11 17:09 ` Gilles Chanteperdrix
2012-06-17 19:05 ` Marc Le Douarain
2012-06-17 19:19 ` Gilles Chanteperdrix
2012-07-14 12:51 ` Marc Le Douarain
2012-06-10 21:00 ` Gilles Chanteperdrix
2012-06-04 19:49 ` Gilles Chanteperdrix [this message]
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=4FCD1154.2050008@xenomai.org \
--to=gilles.chanteperdrix@xenomai.org \
--cc=marc.le-douarain@laposte.net \
--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.