Re: Etherboot 5.5
Marty Connor <[email protected]>
| Newsgroups | gmane.network.etherboot.devel |
|---|---|
| Message-ID | <[email protected]> |
On May 21, 2005, at 10:39 AM, Georg Baum wrote:
> Meanwhile I have a fix for gcc 3.3, 3.4 and 4.0, it is attached. It is
> ready to be applied IMO, with one exception:
> gcc 4.0 does not allow casts on lvalues. Therefore I got rid of them at
> several places. The change in src/proto/http.c leads to cleaner code
> actually, but the other changes are not optimal: I am not sure whether
> the changes in src/drivers/net/natsemi.c and src/drivers/net/sis900.c
> are
> correct, and the change in src/proto/nmb.c should work but is pretty
> ugly.
Georg, thank you very much for the patches. I wrote natsemi.c and
sis900.c, and your changes look fine. We'll find out more in testing
the hardware.
The other patches seem fine as well, but I will defer to Michael on the
unnamed union/struct issue. We've had to deal with this kind of
toolchain issues for as long as I can remember.
With regard to code ugliness, I think there is only so much we can do.
For efficiency and aesthetic reasons we use features that seem to
change between various releases. I am not certain if these changes are
bugs, compatibility with ANSI C, or for other reasons. I would really
like to understand what the deal is.
In any case, we are are committed (and reliant) on the gcc toolchain,
binutils, perl, and SYSLINUX, so part of the game is being compatible
where reasonably possible, and getting our toolmakers to help fix
things when it makes sense.
> Unfortunately I get now an internal linker error:
> $ make bin/e1000.dsk
> ld -N -T arch/i386/scripts/i386.lds -u obj_dskprefix --defsym
> check_obj_dskprefix=obj_dskprefix -u obj_e1000 --defsym
> check_obj_e1000=obj_e1000 -u obj_config --defsym
> check_obj_config=obj_config bin/blib.a -o bin/e1000.dsk.tmp \
> -Map bin/e1000.dsk.tmp.map
> ld: internal error ../../ld/ldlang.c 1974
> make: *** [bin/e1000.dsk.tmp] Error 1
> $ ld -v
> GNU ld version 2.15
I think Michael may have previously run into this linker error, and may
know what to do. The ld people may have already fixed the bug.
> Do I need a newer version?
Actually, older might work better:
On my development machine (RHEL 3) I am using:
$ ld --version
GNU ld version 2.14.90.0.4 20030523
Copyright 2002 Free Software Foundation, Inc.
and on rom-o-matic.net:
$ ld --version
GNU ld version 2.14 20030612
Copyright 2002 Free Software Foundation, Inc.
I'm sure we'll soon get the toolchain dependencies figured out.
Best Regards,
Marty
--
Try: http://rom-o-matic.net/ to make Etherboot images instantly.
Name: Marty Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827;
Cambridge, MA 02139; USA
Voice: (617) 491-6935; Fax: (617) 491-7046
Email: [email protected]
Web: http://www.etherboot.org/
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click