On 15/04/10 20:53, Marco d'Itri wrote:
On Apr 15, Meelis Roos<[email protected]>  wrote:

Please find out exactly which operation is causing the traps.
Are there any news?

I just found a moment to look at this:


Core was generated by `depmod -a'.
Program terminated with signal 10, Bus error.
#0  0x000000012000e34c in native_endianness () at ../util.c:205
205             return (char) *((uint32_t*)("\1\0\0\2"));
(gdb) bt
#0  0x000000012000e34c in native_endianness () at ../util.c:205
#1 0x000000012000738c in main (argc=2, argv=0x11facdc98) at ../depmod.c:1312
(gdb) list
200     int __attribute__ ((pure)) native_endianness()
201     {
202             /* Encoding the endianness enums in a string and then reading 
that
203 * string as a 32-bit int, returns the correct endianness automagically.
204              */
205             return (char) *((uint32_t*)("\1\0\0\2"));
206     }


Yeah, nice programming guys.  Allocate a string, i.e. an array of
char, which the compiler will merely byte align and then read it
back as a long word which must be long word aligned.  And the
programmer thinks he is so smart that he descibes it
as "automagically"!  Doh.

Cheers
Michael.



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to