Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jun 2017 11:32:58 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Shawn Webb <shawn.webb@hardenedbsd.org>, jasone@canonware.com, svn-src-head@freebsd.org
Subject:   Re: svn commit: r319971 - in head: contrib/jemalloc contrib/jemalloc/doc contrib/jemalloc/include/jemalloc  contrib/jemalloc/include/jemalloc/internal contrib/jemalloc/src include  lib/libc/stdlib/jemalloc
Message-ID:  <95670C93-9CA8-4484-B21D-83D7E73D6B47@dsl-only.net>

next in thread | raw e-mail | index | archive | help
Shawn Webb shawn.webb at hardenedbsd.org wrote
on Fri Jun 16 22:45:27 UTC 2017 :

> This breaks buildworld for arm64:
>=20
> /usr/obj/arm64.aarch64/scratch/fbsd/tmp/usr/bin/ld: error: =
sigsetjmp.pico:(function sigsetjmp): relocation R_AARCH64_CONDBR19 out =
of range
> /usr/obj/arm64.aarch64/scratch/fbsd/tmp/usr/bin/ld: error: =
sigsetjmp.pico:(function siglongjmp): relocation R_AARCH64_CONDBR19 out =
of range
> cc: error: linker command failed with exit code 1 (use -v to see =
invocation)
> --- libc.so.7.full ---
> *** [libc.so.7.full] Error code 1
>=20
> make[4]: stopped in /scratch/fbsd/lib/libc

And Jason Evans jasone at canonware.com wrote on
Sat Jun 17 00:15:53 UTC 2017 :

> Indeed, this happens for me too with TARGET=3Darm64 =
TARGET_ARCH=3Daarch64.


But when I did my head -r319996 amd64 -> aarch64 cross build of
buildworld buildkernel I got no such errors:

# grep libc.so.7 =
~/sys_typescripts/typescript_make_aarch64_nodebug_clang_bootstrap-amd64-ho=
st-2017-06-16:13:33:14 | more
Building =
/usr/obj/aarch64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.full
--- libc.so.7.full ---
building shared library libc.so.7
Building =
/usr/obj/aarch64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.debug
Building /usr/obj/aarch64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7

I do use:

XCFLAGS+=3D -mcpu=3Dcortex-a53
XCXXFLAGS+=3D -mcpu=3Dcortex-a53

(but I've no direct clue if those make a difference).
The rest of what I do is rather generic.

Specifically I used:



# more =
~/sys_build_scripts.amd64-host/make_aarch64_nodebug_clang_bootstrap-amd64-=
host.sh=20
kldload -n filemon && \
script =
~/sys_typescripts/typescript_make_aarch64_nodebug_clang_bootstrap-amd64-ho=
st-$(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.aarch64-clang-bootstrap.amd64-h=
ost" \
WITH_META_MODE=3Dyes \
MAKEOBJDIRPREFIX=3D"/usr/obj/aarch64_clang" \
make $*



# more /root/src.configs/src.conf.aarch64-clang-bootstrap.amd64-host
TO_TYPE=3Daarch64
TOOLS_TO_TYPE=3D${TO_TYPE}
#
KERNCONF=3DGENERIC-NODBG
TARGET=3Darm64
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_CROSS_COMPILER=3D
WITHOUT_SYSTEM_COMPILER=3D
#
WITH_LIBCPLUSPLUS=3D
WITHOUT_BINUTILS_BOOTSTRAP=3D
WITH_ELFTOOLCHAIN_BOOTSTRAP=3D
WITH_CLANG_BOOTSTRAP=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLD_BOOTSTRAP=3D
WITH_LLD=3D
WITH_LLD_IS_LD=3D
WITH_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-a53
XCXXFLAGS+=3D -mcpu=3Dcortex-a53
# There is no XCPPFLAGS but XCPP gets XCFLAGS content.



# more /usr/src/sys/arm64/conf/GENERIC-NODBG
#
# GENERIC -- Custom configuration for the arm64/aarch64
#

include "GENERIC"

ident   GENERIC-NODBG

makeoptions     DEBUG=3D-g                # Build kernel with gdb(1) =
debug symbols

options         ALT_BREAK_TO_DEBUGGER

options         KDB                     # Enable kernel debugger support

# For minimum debugger support (stable branch) use:
#options        KDB_TRACE               # Print a stack trace for a =
panic
options         DDB                     # Enable the kernel debugger

# Extra stuff:
#options        VERBOSE_SYSINIT         # Enable verbose sysinit =
messages
#options        BOOTVERBOSE=3D1
#options        BOOTHOWTO=3DRB_VERBOSE
#options        KTR
#options        KTR_MASK=3DKTR_TRAP
##options       KTR_CPUMASK=3D0xF
#options        KTR_VERBOSE

# Disable any extra checking for. . .
nooptions       DEADLKRES               # Enable the deadlock resolver
nooptions       INVARIANTS              # Enable calls of extra sanity =
checking
nooptions       INVARIANT_SUPPORT       # Extra sanity checks of =
internal structures, required by INVARIANTS
nooptions       WITNESS                 # Enable checks to detect =
deadlocks and cycles
nooptions       WITNESS_SKIPSPIN        # Don't run witness on spinlocks =
for speed
nooptions       DIAGNOSTIC
nooptions       MALLOC_DEBUG_MAXZONES   # Separate malloc(9) zones
nooptions       BUF_TRACKING
nooptions       FULL_BUF_TRACKING



=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95670C93-9CA8-4484-B21D-83D7E73D6B47>