Source-Changes-D archive

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

Re: CVS commit: src/sys



/usr/obj/evbarm-earmv7/tools/bin/nbmake-evbarm -V MACHINE_ARCH
earmv7


christos

> On Nov 7, 2020, at 4:27 PM, Paul Goyette <paul%whooppee.com@localhost> wrote:
> 
> OK, I think I found the problem, but I don't know how to solve it...
> 
> All of the undefined symbols are supposed to be provided by
> 
> 	.../sys/arch/arm/arm32/netbsd32_machdep.c
> 
> but there is no netbsd32_machdep.o included in the compat_netbsd32
> module.  This file should be included by the following code in .../sys/modules/compat_netbsd32/Makefile
> 
> 	.if ${MACHINE_ARCH} == "arm"
> 	.PATH:  ${S}/arch/arm/arm32
> 	SRCS+=  netbsd32_machdep.c
> 	.endif
> 
> but it seems not to work (or at least, it doesn't do what it was
> intended to do).
> 
> 
> 
> 
> 
> 
> On Thu, 5 Nov 2020, Rin Okuyama wrote:
> 
>> On 2020/11/05 5:43, Paul Goyette wrote:
>>> BTW, the patch you submitted with the initial message in this thread
>>> looks good for avoiding the issue.  But I'm not sure it is a complete
>>> solution.
>>> In particular, you would need to build a 32-bit arm that contains ``no
>>> options COMPAT_NETBSD32'' and then boot and load the compat_netbsd32
>>> and compat_netbsd32_coredump modules
>>> 
>>>     modload compat_netbsd32
>>>     modload compat_netbsd32_coredump
>>> Then see if emulation of the old ABI still works, and check if core-
>>> dump works for old-ADI programs; the test program I've been using for
>>> core-dump checking is
>>> 
>>>     #include <stdlib.h>
>>>     int main(int argc, void *argv) { abort(); }
>>> I really have to leave and take care of some personal business, so I
>>> would greatly appreciate if you can check this out.
>> 
>> Hmm, ``modload compat_netbsd32'' does not work on evbarmv6hf-el:
>> 
>> ----
>> # uname -ap
>> NetBSD  9.99.75 NetBSD 9.99.75 (RPI0) #11: Thu Nov  5 20:26:39 JST 2020 rin@latipes:/sys/arch/evbarm/compile/RPI0 evbarm earmv6hf
>> # modload compat_netbsd32
>> [  29.6328410] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `netbsd32_vm_default_addr' not found
>> [  29.6460400] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `netbsd32_machdep_md_init' not found
>> [  29.6560750] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `netbsd32_sendsig' not found
>> [  29.6661200] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `cpu_mcontext32_validate' not found
>> [  29.6791570] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `cpu_setmcontext32' not found
>> [  29.6791570] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `netbsd32_machdep_md_fini' not found
>> [  29.6948370] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `startlwp32' not found
>> [  29.7048770] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `cpu_getmcontext32' not found
>> [  29.7168550] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `machine32' not found
>> [  29.7168550] kobj_checksyms, 994: [compat_netbsd32]: linker error: symbol `netbsd32_sysarch' not found
>> [  29.7318320] WARNING: module error: unable to affix module `compat_netbsd32', error 8
>> modload: compat_netbsd32: Exec format error
>> ----
>> 
>> This should be because there are ``#ifdef COMPAT_NETBSD32'' codes in files
>> not included in compat_netbsd32 module. compat_netbsd32 module must not
>> work also for aarch64 and mips64 for the same reason, whereas amd64 and
>> sparc64 seem OK.
>> 
>> Thanks,
>> rin
>> 
>> !DSPAM:5fa3f309175521945872603!
>> 
>> 
> 
> +--------------------+--------------------------+-----------------------+
> | Paul Goyette       | PGP Key fingerprint:     | E-mail addresses:     |
> | (Retired)          | FA29 0E3B 35AF E8AE 6651 | paul%whooppee.com@localhost     |
> | Software Developer | 0786 F758 55DE 53BA 7731 | pgoyette%netbsd.org@localhost   |
> +--------------------+--------------------------+-----------------------+

Attachment: signature.asc
Description: Message signed with OpenPGP



Home | Main Index | Thread Index | Old Index