Hello Havard,

it is me again. I think, my previous answer to your question was
precipitant.
Compiling with "-O2" may  not solve your problem, but here is
a solution that works:
Use the compiler flags "-static -r -nostartfile -nostdlib -lgcc". 

The explanation:
1. __divdi3 and __udivdi3 is used to compute "/" with operands
   of type "long long" or "unsigned long long", respectively.
   The are defined in libgcc.a. Therefore, you have to use "-lgcc"

2. When linking a program against libgcc, gcc automatically adds
   a function for program startup. A kernel module must not linked
   with this startup function. Therefore you need the flag "-nostartfile".

3. You cannot use libc in kernel space. Therefore you need the flag
   "-nostdlib".

4. Kernel modules have to be relocatable. Therefore you need the "-r" flag.


Sorry for my previous misleading posting.

Regards,
Bernd

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to