svn commit: r190520 - in stable/7/sys: . amd64/amd64 amd64/linux32 arm/arm compat/ia32 compat/svr4 contrib/pf dev/ath/ath_hal dev/cxgb i386/i386 i386/linux ia64/ia64 kern powerpc/powerpc sparc64/sp...

John Baldwin jhb at freebsd.org
Wed Apr 1 11:47:03 PDT 2009


On Sunday 29 March 2009 4:07:37 am Dmitry Chagin wrote:
> Author: dchagin
> Date: Sun Mar 29 08:07:36 2009
> New Revision: 190520
> URL: http://svn.freebsd.org/changeset/base/190520
> 
> Log:
>   Merge from head to stable/7:
>   
>   r189771:
>   Implement new way of branding ELF binaries by looking to a
>   ".note.ABI-tag" section.
>   
>   The search order of a brand is changed, now first of all the
>   ".note.ABI-tag" is looked through.
>   
>   Move code which fetch osreldate for ELF binary to check_note() handler.

I think this breaks the ABI of older ELF ABI kernel modules (e.g. older 
linux.ko binaries) since it changes the layout of the 'ElfN(Brandinfo)' 
structure.  I think you can fix this by making the following changes in 7.x 
only:

1) Move the new field (brand_note) to the end of the structure.
2) Add a new flag BI_BRAND_NOTE (or some such) that indicates that the
   brandnote pointer is valid.

Only use the brandnote field if the new flag is set and set it in all the new 
places that now have notes.  Old modules won't have the flag set, so the new 
field (which would really be garbage) would be ignored.

-- 
John Baldwin


More information about the svn-src-all mailing list