diff options
author | dchagin <dchagin@FreeBSD.org> | 2009-04-05 09:27:19 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2009-04-05 09:27:19 +0000 |
commit | 01bf63c9fb60c7104bfbbcfd5be8c1deab29ea6a (patch) | |
tree | d36c5668c15e84db66ecb8e052140097d1a8b901 /sys/sparc64 | |
parent | 2a2dfa7d229606cbb1ff3302fab0681c9d4877a1 (diff) | |
download | FreeBSD-src-01bf63c9fb60c7104bfbbcfd5be8c1deab29ea6a.zip FreeBSD-src-01bf63c9fb60c7104bfbbcfd5be8c1deab29ea6a.tar.gz |
Fix KBI breakage by r190520 which affects older linux.ko binaries:
1) Move the new field (brand_note) to the end of the Brandinfo structure.
2) Add a new flag BI_BRAND_NOTE that indicates that the brand_note pointer
is valid.
3) Use the brand_note field if the flag BI_BRAND_NOTE is set and as old
modules won't have the flag set, so the new field brand_note would be
ignored.
Suggested by: jhb
Reviewed by: jhb
Approved by: kib (mentor)
MFC after: 6 days
Diffstat (limited to 'sys/sparc64')
-rw-r--r-- | sys/sparc64/sparc64/elf_machdep.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sparc64/sparc64/elf_machdep.c b/sys/sparc64/sparc64/elf_machdep.c index 906a9b8..b0a6998 100644 --- a/sys/sparc64/sparc64/elf_machdep.c +++ b/sys/sparc64/sparc64/elf_machdep.c @@ -100,7 +100,7 @@ static Elf64_Brandinfo freebsd_brand_info = { .sysvec = &elf64_freebsd_sysvec, .interp_newpath = NULL, .brand_note = &elf64_freebsd_brandnote, - .flags = BI_CAN_EXEC_DYN + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE }; SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_ANY, @@ -116,7 +116,7 @@ static Elf64_Brandinfo freebsd_brand_oinfo = { .sysvec = &elf64_freebsd_sysvec, .interp_newpath = NULL, .brand_note = &elf64_freebsd_brandnote, - .flags = BI_CAN_EXEC_DYN + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE }; SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY, |