Date: Tue, 07 May 2002 23:00:42 -0400 From: Nathan Hawkins <utsl@quic.net> To: arch@FreeBSD.ORG Subject: Re: syscall changes to deal with 32->64 changes. Message-ID: <3CD894DA.6060602@quic.net> References: <XFMail.20020507103320.jhb@FreeBSD.org> <3CD7FE57.1000508@quic.net> <20020507110901.F23330@dragon.nuxi.com> <3CD823E8.2010809@quic.net> <20020507135957.A30027@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
David O'Brien wrote: >On Tue, May 07, 2002 at 02:58:48PM -0400, Nathan Hawkins wrote: > > >>>>I'd like to see FreeBSD start using ELF .note.ABI-tag sections to handle >>>>the binary OS type/versioning. I know that at least NetBSD, Linux and >>>>Hurd do it this way, and I think most others do too. >>>> >>>> >>>Why? Just to follow the NIH herd? The EI_OSABI and EI_ABIVERSION fields >>>were in the gABI spec before anyone started using .note sections for >>>this. >>> >>> >>> >>Because AFAICS, it's a defacto, unwritten standard. Even if it violates >>spec. >> >Your response is mostly content free. But I honestly interested in your >response. Could you reread what I said and address it? > > All right: 1. Why? How about being able to use stock binutils? The original subject was how to handle some proposed ABI changes. The .note.ABI-tag section has a version field, already in the binaries (since 4.1, I believe.) It looks pretty simple to add a field to Elf_Brandinfo that has the ABI version. exec_elf_imgact could then be altered to select the right sysvec based on OS and ABI version from the note. 2. The EI_OSABI and EI_ABIVERSION fields were in the gABI spec before anyone started using .note sections for this. But there has since been agreement to use the .note sections. One good reason is that it keeps OS specifics out of binutils, and makes it possible to cross compile for another OS on the same architecture. You'd have to alter binutils to change the default EI_ABIVERSION or EI_OSABI field. If you do, how do you compile for the old ABI? The ABI-tags method would allow binutils to support both ABI's, by linking with a different copy of /usr/lib/crt1.o. ---Nathan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CD894DA.6060602>