[lkml]   [1999]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Boot code rewritten for GAS
    On Sun, 1 Aug 1999, Albert D. Cahalan wrote:

    > I'd say you guessed why this keeps getting ignored. (I have binutils
    > right now.) You could submit the patch again in a few years.

    Well today I went digging around, picked up the latest binutils from
    cygnus CVS and discovered that it has fixed every bug uncovered by my
    patch. The 16-bit i386 back-end from 2.9.1 was notoriously bad and from
    the (quick) looks of it 2.9.5 is a hell of a lot more sane.

    I hope that it's not too much to ask that when someone upgrades to 2.4
    with all it's newfangled thisandthats (tm) that they should pick up the
    latest version of the assembler, which fixes this bug and that bug and
    adds this feature, &c? I do realize that it is a royal PITA sometimes,
    but binutils (and gas specifically) is a pretty important thing to keep up
    to date being as it is at the very heart of compiling *anything* and
    should be able to do it correctly (sadly, it seems that it can only do
    it with the most recent versions :). And who can forget having to
    update quite a few basic programs when coming from 2.0 -> 2.2?

    BTW, is there any pressing reason as to why you're sticking with

    > Another reason: People who can write 16-bit x86 assembly are likely to
    > be ex-DOS hackers with MASM and TASM experience. To them, gas syntax
    > may be hard to use.

    Well, that reason I find somewhat hard to swallow. The as86 syntax used in
    the boot code is an *outcast* amongst the hundreds of other lines of gas
    style asm (albeit most is gcc inline'd) sprinkled throughout the kernel.

    AT&T syntax has been the preferred and default style of every *NIX
    system for as long as I can remember.

    Besides it's not *that* hard to pick up the few rules that differ:
    (a) '%' before regs
    (b) add a size suffix to instructions
    (c) src, dst instead of dst, src
    (d) base, scale, index written differently

    Not to mention that as86/ld86 are pretty archaic, undocumented and used
    today to compile one sole thing in the entire universe (the kernel). :)

    Then again, I'm not against using say NASM for the boot code. I actually
    somewhat prefer it's simplicity of syntax, full documentation and the fact
    that it's pretty actively maintained right now. But I'd hate to bring in
    another outside prerequisite to compiling the kernel.

    Right now it stands as (approximately): gcc, binutils, as86/ld86.
    With this patch: gcc, binutils (which are pretty much guaranteed to be

    Would a patch in the same vein, but geared toward NASM be acceptable?

    Chris Noe

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:53    [W:0.020 / U:6.028 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site