Re: ELF: what should be part of the userspace headers?

From: Jakub Jelinek
Date: Sat Aug 05 2006 - 07:20:38 EST


On Sat, Aug 05, 2006 at 07:08:43PM +0800, David Woodhouse wrote:
> On Sat, 2006-08-05 at 13:05 +0200, Adrian Bunk wrote:
> > include/linux/elf-em.h is used by include/linux/audit.h, but this usage
> > doesn't seem to be part of the kernel <-> userspace interface?
>
> The machine types _are_ part of the audit kernel<->userspace interface,
> I think. Exporting elf-em.h should be fairly harmless.
>
> > And which part of the ELF headers is part of the kernel <-> userspace
> > interface?
>
> Almost none of them, I'd suggest. Nothing but auxvec.h

Well, sys/procfs.h on several arches includes <asm/elf.h>:

find -type f -a -name \*.h | xargs grep '<\(asm\|linux\).*elf'
./sysdeps/unix/sysv/linux/alpha/sys/procfs.h:#include <asm/elf.h>
./sysdeps/unix/sysv/linux/sh/sys/procfs.h:#include <asm/elf.h>
./sysdeps/unix/sysv/linux/sys/procfs.h:#include <asm/elf.h>

while most other arches don't need it:
for i in `find . -name procfs.h`; do grep -q '<\(asm\|linux\).*elf' $i || echo $i; done
./sysdeps/unix/sysv/linux/s390/sys/procfs.h
./sysdeps/unix/sysv/linux/powerpc/sys/procfs.h
./sysdeps/unix/sysv/linux/sparc/sys/procfs.h
./sysdeps/unix/sysv/linux/i386/sys/procfs.h
./sysdeps/unix/sysv/linux/ia64/sys/procfs.h
./sysdeps/unix/sysv/linux/x86_64/sys/procfs.h

Guess it shouldn't be hard to convert even alpha and sh (not sure then
if there are any arches that actually use the linux/sys/procfs.h header).

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