format of elfcap header [was Re: Capabilities done right [diff against 2.3.1]]

Pavel Machek (pavel@bug.ucw.cz)
Tue, 18 May 1999 22:43:56 +0200


Hi!

> > Well, if you expand fields to be 128bit and add your disinherite
> > fields at the end, there should be no problems with
> > compatibility. I.e. my patches will eat work with those parts of
> > headers they do understand - which is right thing to do.
> OK I add the foo1 foo2 foo3 back in. I no longer have disinherite I killed
> it off. I was talking more along code lines though. I really believe that
> for the real long run that you shouldn't tie the structure to close
> to

I changed structure fields from Elf32_Word to __u32. Now, structure is
tied to elf only by its possition <linux/elf.h> and its name
(elf_capabilities). Possition and name of structure are small details,
I believe. I do not want to move structure to other file (so my diff
is small), and I do not know better name (suggest one).

> elf. Someone could add it to a.out or to some new format. Also I disagree
> that you can totaly guarentee that all future formats will totaly
> compatible. I think that you should aloow for multiple versions to be
> placed in the notes section and then search for the one which you

I believe that I can guarantee enough compatibility. In the _worst_
case, I will end with (I believe that will never happen

struct elf_capabilities {
_fields for old kernels_
_fields for new kernels_
}

Which is pretty much exactly what you ask for: separate versions for
multiple versions of kernel. Only difference is that I _force_ you to
put fields for older kernels (but setting them to conservative 0/0/0
will save your day).

I believe this will never happen, through. 2 capabilities for 1 file
is nightmare.

> understand. Our structures really are similiar enough. Also for the
> version field I really like encoding the date in there as a version
> number.

You are having year-429496 problem with your date encoding, through
;-))))). (I do not much care what encoding of version you use. It has
to be non-decreasing, and I'd like current version to be 0 so that I
do not have to check for it in code ;-).

-- 
I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel.          Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/