Date: Mon, 30 Dec 2019 18:14:09 -0800 From: Mark Millard <marklmi@yahoo.com> To: Justin Hibbits <chmeeedalf@gmail.com>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: system-clang (elfv2) and devel/binutil@powerpc (32-bit): booting fail very early on PowerMac3,6 example ; also build problem why I tried this Message-ID: <FE9AE77D-6F51-476A-9B04-FABFEBFF65C4@yahoo.com> References: <FE9AE77D-6F51-476A-9B04-FABFEBFF65C4.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
(There are later notes below with build failure information that lead me to try devel/binutils@powerpc .) Because of the (cross-)build failure (from amd64): --- acl_nfs4.ko.full --- ld: acl_nfs4.kld(.text+0x234): R_PPC_PLTREL24 reloc against local symbol acl_nfs4.kld: could not read symbols: Bad value *** [acl_nfs4.ko.full] Error code 1 when using the default ld for 32-bit powerpc, I tried using devel/binutil@powerpc for which buildworld buildkernel at least ran to completion. The build was of a non-debug kernel (and world), but with symbols. But the result failed to boot, stopping very early: (typed from a image) . . . Booted from: /pci@f4000000/ata-6@d/disk@0 Loading /boot/defaults/loader.conf /boot/kernel/kernel data=3D0xd97874+0x2ebdd4 = syms=3D[0x4+0x97740+0x4+0xc34d2] Invalid memory access at %SRR0: 04C00000 %SRR1: c0000000 Apple PowerMac3,6 4.6.0f1 BootROM built on 02/20/03 at 13:52:27 . . . As for the build failure . . . # Meta data file = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/powerpc.powerpc/sys/GEN= ERICvtsc-NODBG/modules/usr/src/sys/modules/acl_nfs4/acl_nfs4.kld.meta CMD ld -m elf32ppc_fbsd --secure-plt -d -warn-common -r -d -o = acl_nfs4.kld subr_acl_nfs4.o CMD ctfmerge -L VERSION -g -o acl_nfs4.kld subr_acl_nfs4.o CMD :> export_syms CMD awk -f /usr/src/sys/conf/kmod_syms.awk acl_nfs4.kld export_syms | = xargs -J% objcopy % acl_nfs4.kld CWD = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/powerpc.powerpc/sys/GEN= ERICvtsc-NODBG/modules/usr/src/sys/modules/acl_nfs4 TARGET acl_nfs4.kld . . . =46rom readelf -a for the subr_acl_nfs4.o : (acl_nfs4_sync_mode_from_acl is GLOBAL here) . . . Relocation section with addend (.rela.text): r_offset r_info r_type st_value st_name + r_addend 00000076 000014fc <unknown: 0xfc> 00000000 .got2 + 8022 0000007a 000014fa <unknown: 0xfa> 00000000 .got2 + 8026 000001ac 00003112 R_PPC_PLTREL24 00000000 groupmember + 8000 00000234 00003012 R_PPC_PLTREL24 00000458 = acl_nfs4_sync_mode_from_acl + 8000 000002c4 00003312 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 000002f4 00003312 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 0000032c 00003312 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 00000360 00003312 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 0000038c 00003312 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 000007c6 000014fc <unknown: 0xfc> 00000000 .got2 + 800a 000007ca 000014fa <unknown: 0xfa> 00000000 .got2 + 800e 00001026 000014fc <unknown: 0xfc> 00000000 .got2 + 8006 0000102a 000014fa <unknown: 0xfa> 00000000 .got2 + 800a 00001676 000014fc <unknown: 0xfc> 00000000 .got2 + 800a 0000167a 000014fa <unknown: 0xfa> 00000000 .got2 + 800e 00001698 00002a12 R_PPC_PLTREL24 00000000 acl_alloc + 8000 000016a8 00003012 R_PPC_PLTREL24 00000458 = acl_nfs4_sync_mode_from_acl + 8000 00001748 00002b12 R_PPC_PLTREL24 00000000 acl_free + 8000 000017e8 00002b12 R_PPC_PLTREL24 00000000 acl_free + 8000 0000183a 000014fc <unknown: 0xfc> 00000000 .got2 + 800a 0000183e 000014fa <unknown: 0xfa> 00000000 .got2 + 800e . . . Relocation section with addend (.rela.text): r_offset r_info r_type st_value st_name + r_addend . . . 47: 00000000000007a0 128 FUNC GLOBAL DEFAULT 2 = acl_nfs4_sync_acl_from_mode 48: 0000000000000458 840 FUNC GLOBAL DEFAULT 2 = acl_nfs4_sync_mode_from_acl 49: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND groupmember . . . But after: CMD ld -m elf32ppc_fbsd --secure-plt -d -warn-common -r -d -o = acl_nfs4.kld subr_acl_nfs4.o CMD ctfmerge -L VERSION -g -o acl_nfs4.kld subr_acl_nfs4.o CMD :> export_syms CMD awk -f /usr/src/sys/conf/kmod_syms.awk acl_nfs4.kld export_syms | = xargs -J% objcopy % acl_nfs4.kld =46rom readelf -a for the acl_nfs4.kld : (acl_nfs4_sync_mode_from_acl is LOCAL here) . . . Relocation section with addend (.rela.text): r_offset r_info r_type st_value st_name + r_addend . . . 00000076 000004fc <unknown: 0xfc> 00000000 .got2 + 8022 0000007a 000004fa <unknown: 0xfa> 00000000 .got2 + 8026 000001ac 00003012 R_PPC_PLTREL24 00000000 groupmember + 8000 00000234 00002c12 R_PPC_PLTREL24 00000458 = acl_nfs4_sync_mode_from_acl + 8000 000002c4 00003212 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 000002f4 00003212 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 0000032c 00003212 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 00000360 00003212 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 0000038c 00003212 R_PPC_PLTREL24 00000000 priv_check_cred + 8000 000007c6 000004fc <unknown: 0xfc> 00000000 .got2 + 800a 000007ca 000004fa <unknown: 0xfa> 00000000 .got2 + 800e 00001026 000004fc <unknown: 0xfc> 00000000 .got2 + 8006 0000102a 000004fa <unknown: 0xfa> 00000000 .got2 + 800a 00001676 000004fc <unknown: 0xfc> 00000000 .got2 + 800a 0000167a 000004fa <unknown: 0xfa> 00000000 .got2 + 800e 00001698 00003c12 R_PPC_PLTREL24 00000000 acl_alloc + 8000 000016a8 00002c12 R_PPC_PLTREL24 00000458 = acl_nfs4_sync_mode_from_acl + 8000 00001748 00003912 R_PPC_PLTREL24 00000000 acl_free + 8000 000017e8 00003912 R_PPC_PLTREL24 00000000 acl_free + 8000 0000183a 000004fc <unknown: 0xfc> 00000000 .got2 + 800a 0000183e 000004fa <unknown: 0xfa> 00000000 .got2 + 800e . . . Symbol table (.symtab) contains 62 entries: Num: Value Size Type Bind Vis Ndx Name . . . 43: 0000000000000000 1112 FUNC LOCAL DEFAULT 1 = vaccess_acl_nfs4 44: 0000000000000458 840 FUNC LOCAL DEFAULT 1 = acl_nfs4_sync_mode_from_acl 45: 000000000000181c 248 FUNC LOCAL DEFAULT 1 = acl_nfs4_check =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE9AE77D-6F51-476A-9B04-FABFEBFF65C4>