DragonFly BSD
DragonFly kernel List (threaded) for 2004-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: systimer01.patch available for review.

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 Jan 2004 10:15:40 -0800 (PST)

:On 28.01.2004, at 07:33, Matthew Dillon wrote:
:>     We could make a concerted effort to fix the bad inline assembly
:>     we have in the kernel to make -O3 and friends work properly under 
:> gcc3.
:count me in. What's `bad' inline assembly so that we can find it?
:   simon

    I didn't say it would be easy!  The problem is it is difficult to
    *find* it, but for example the IP checksum code has been known
    to brainfart at higher optimization levels for years.  And 
    we aren't just talking about bad inline assembly... there's some
    bad C code in there too.

    Broken assembly is typically __asm() code that fails to properly
    specify register state (what's being read, written, modified, and
    blown away).  Broken C tends to be C code that uses unions to load
    elements of one type, and then read elements of another type 
    overlayed on the first set of elements via the union.  Or something
    like that.

					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]