NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/58346: Some MD routines missing for compat_16 and compat_13 modules



>Number:         58346
>Category:       kern
>Synopsis:       Some MD routines missing for compat_16 and compat_13 modules
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 16 05:15:00 +0000 2024
>Originator:     Rin Okuyama
>Release:        10.99.10 (as well as 10.0 and 9.x)
>Organization:
Internet Initiative Japan Inc.
>Environment:
NetBSD g5.local 10.99.10 NetBSD 10.99.10 (G5) #21: Tue Jun 11 22:27:42 JST 2024  rin@sakaizumii.local:/home/rin/src/sys/arch/macppc/compile/G5 macppc powerpc
>Description:
Some MD source files are not hooked for compat{,_netbsd32}_1[36].

As a result, compat_16 module cannot load on, e.g., powerpc:

# uname -p
powerpc
# modload compat_16
kobj_checksyms, 1013: [compat_16]: linker error: symbol `sendsig_sigcontext' not found
kobj_checksyms, 1013: [compat_16]: linker error: symbol `esigcode' not found
kobj_checksyms, 1013: [compat_16]: linker error: symbol `compat_16_sys___sigreturn14' not found
kobj_checksyms, 1013: [compat_16]: linker error: symbol `sigcode' not found
modload: compat_16: Exec format error
>How-To-Repeat:
Described above.
>Fix:
See:

https://github.com/IIJ-NetBSD/netbsd-src/compare/master...rokuyama:netbsd-src:module/compat_machdep

or you can get just patch:

https://github.com/IIJ-NetBSD/netbsd-src/compare/master...rokuyama:netbsd-src:module/compat_machdep.patch

With this patch,

- sys/modules/Makefile.compat is introduced.
- compat_1[36]_machdep.c and netbsd32_machdep_1[36].c are automatically
  hooked into the modules if present.
- Other MD codes are explicitly handled.
- Import AFLAGS from kernel to compile assembler codes.

Note that x86 ucode support for compat_60 is still handled differently
as before, even after applying this patch.



Home | Main Index | Thread Index | Old Index