Date: Fri, 14 Apr 2006 00:00:06 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 95194 for review Message-ID: <200604140000.k3E006Dv026437@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=95194 Change 95194 by jb@jb_freebsd2 on 2006/04/13 23:59:51 This is a hack to handle things that Sun has added to their ELF implementation which don't seem to be implemented in any BSD licensed headers. Is there a standard somewhere which refers to Elf64_Move, Elf64_Cap, Elf64_Lvalue and Elf64_Syminfo? I'd prefer make sure that the OpenSolaris code uses out ELF and link headers. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/head/gelf.h#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/head/gelf.h#4 (text) ==== @@ -29,13 +29,40 @@ #pragma ident "@(#)gelf.h 1.14 05/06/08 SMI" -#if !defined(sun) -#include <opensolaris/compat/sys/types.h> -#endif #include <sys/feature_tests.h> #include <libelf.h> +#if defined(sun) #include <sys/link.h> +#else +#include <opensolaris/compat/sys/types.h> +#include <sys/elf64.h> +#include <link.h> + +/* + * Non Sun ELF implementations don't have these. + * Where is the standard that defines them? + */ +typedef unsigned long long Elf64_Lword; +typedef struct { + Elf64_Lword m_value; /* symbol value */ + Elf64_Xword m_info; /* size + index */ + Elf64_Xword m_poffset; /* symbol offset */ + Elf64_Half m_repeat; /* repeat count */ + Elf64_Half m_stride; /* stride info */ +} Elf64_Move; +typedef struct { + Elf64_Xword c_tag; /* how to interpret value */ + union { + Elf64_Xword c_val; + Elf64_Addr c_ptr; + } c_un; +} Elf64_Cap; +typedef struct { + Elf64_Half si_boundto; /* direct bindings - symbol bound to */ + Elf64_Half si_flags; /* per symbol flags */ +} Elf64_Syminfo; +#endif /* * FreeBSD always supports 64-bit types.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604140000.k3E006Dv026437>