Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Feb 2019 13:11:10 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-arm@freebsd.org, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   head -r343670 on armv7 (cortexA7): /rescue/WHATEVER gets "Segementation fault" in my context
Message-ID:  <D38819EA-AE54-42A0-86ED-91395C479378@yahoo.com>

next in thread | raw e-mail | index | archive | help
I reliably get results like:

# /rescue/echo
Segmentation fault (core dumped)
#

# /rescue/tar -xpf /usr/obj/clang-armv7-installworld-poud.tar -C =
/usr/obj/DESTDIRs/clang-armv7-installworld-poud
Segmentation fault (core dumped)
#

That last is what I first tried /rescue with. Using just "tar" worked =
fine.
That in turn lead to trying other simple /rescue/WHATEVER commands.


(I've not yet figured out how to get debug information for rescue.
This limits the below information.)

Both fail at the same place:

# gdb /rescue/echo echo.15825.core=20
GNU gdb (GDB) 8.2 [GDB v8.2 for FreeBSD]
. . .
Reading symbols from /rescue/echo...(no debugging symbols found)...done.
[New LWP 100179]
Core was generated by `/rescue/echo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0067b3f0 in ?? ()
(gdb) bt
#0  0x0067b3f0 in ?? ()
#1  0x0066fe28 in ?? ()
#2  0x001d11f0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt =
stack?)
(gdb) disass
No function contains program counter for selected frame.


# gdb /rescue/tar tar.15819.core
GNU gdb (GDB) 8.2 [GDB v8.2 for FreeBSD]
Copyright (C) 2018 Free Software Foundation, Inc.
. . .
[New LWP 100179]
Core was generated by `/rescue/tar -xpf =
/usr/obj/clang-armv7-installworld-poud.tar -C /usr/obj/DESTDIRs'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0067b3f0 in ?? ()
(gdb) bt
#0  0x0067b3f0 in ?? ()
#1  0x0066fe28 in ?? ()
#2  0x001d11f0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt =
stack?)


The buildworld was a cross build amd64->armv7 using my historical way of =
building.
amd64 itself and the amd64->aarch64 cross-build that I've also built and =
installed
have rescue working fine. /usr/src/ is the same for all these builds =
(diff -r -x.svn
finds no differences).


# file /rescue/echo
/rescue/echo: ELF 32-bit LSB executable, ARM, EABI5 version 1 (FreeBSD), =
statically linked, for FreeBSD 13.0 (1300010), FreeBSD-style, stripped

# uname -apKU
FreeBSD OPiP2E 13.0-CURRENT FreeBSD 13.0-CURRENT #4 r343670M: Fri Feb  1 =
16:45:22 PST 2019     =
markmi@FBSDFSSD:/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7/sys/GENER=
IC-NODBG  arm armv7 1300010 1300010

My GENERIC-NODBG includes the standard GENERIC one and forces various =
debug things to be
disabled.

My builds do use -mcpu=3Dcortex-a7 :

# more ~/src.configs/src.conf.armv7-clang-bootstrap.amd64-host=20
TO_TYPE=3Darmv7
#
KERNCONF=3DGENERIC-NODBG
TARGET=3Darm
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
#WITH_CROSS_COMPILER=3D
WITH_SYSTEM_COMPILER=3D
WITH_SYSTEM_LINKER=3D
#
#CPUTYPE=3Dsoft
WITH_LIBCPLUSPLUS=3D
#WITH_LLD_BOOTSTRAP=3D
WITHOUT_BINUTILS_BOOTSTRAP=3D
WITH_ELFTOOLCHAIN_BOOTSTRAP=3D
#Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D
WITHOUT_LLVM_TARGET_AARCH64=3D
WITH_LLVM_TARGET_ARM=3D
WITHOUT_LLVM_TARGET_MIPS=3D
WITHOUT_LLVM_TARGET_POWERPC=3D
WITHOUT_LLVM_TARGET_SPARC=3D
WITHOUT_LLVM_TARGET_X86=3D
#WITH_CLANG_BOOTSTRAP=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLD=3D
WITH_LLD_IS_LD=3D
WITHOUT_BINUTILS=3D
#
# Linking lldb fails for armv7
WITHOUT_LLDB=3D
#
WITH_BOOT=3D
WITHOUT_LIB32=3D
#
WITHOUT_GCC_BOOTSTRAP=3D
WITHOUT_GCC=3D
WITHOUT_GCC_IS_CC=3D
WITHOUT_GNUCXX=3D
#
NO_WERROR=3D
#WERROR=3D
MALLOC_PRODUCTION=3D
#
WITH_REPRODUCIBLE_BUILD=3D
WITH_DEBUG_FILES=3D
#
XCFLAGS+=3D -mcpu=3Dcortex-a7
XCXXFLAGS+=3D -mcpu=3Dcortex-a7
# There is no XCPPFLAGS but XCPP gets XCFLAGS content.

I use:

# more =
~/sys_build_scripts.amd64-host/make_armv7_nodebug_clang_bootstrap-amd64-ho=
st.sh=20
kldload -n filemon && \
script =
~/sys_typescripts/typescript_make_armv7_nodebug_clang_bootstrap-amd64-host=
-$(date +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" =
SRC_ENV_CONF=3D"/root/src.configs/src.conf.armv7-clang-bootstrap.amd64-hos=
t" \
WITH_META_MODE=3Dyes \
WORLD_FLAGS=3D"${WORLD_FLAGS} UBLDR_LOADADDR=3D0x42000000" \
MAKEOBJDIRPREFIX=3D"/usr/obj/armv7_clang/arm.armv7" \
make $*


I do not know when I last tried /rescue/SOMETHING so I've no clue
when this problem started. Plus the prior build was -r341864 or
some such so this was a fairly large jump even if I used /rescue
with my prior build/installation.


=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?D38819EA-AE54-42A0-86ED-91395C479378>