Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Dec 2020 14:50:07 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        bob prohaska <fbsd@www.zefox.net>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Migrating from -current to stable/12 on RPI2B (ARMv7)
Message-ID:  <67E8786A-79E7-409A-BF4D-738F4FEB5EFF@yahoo.com>
In-Reply-To: <DB6C87A3-19DC-4979-AC17-FD1261782803@yahoo.com>
References:  <20201228044840.GA28380@www.zefox.net> <F9CB3890-5E07-46C9-AC40-D968F8B51B1F@yahoo.com> <20201228185622.GB28380@www.zefox.net> <E1EC1332-62D8-4E51-BF4D-9812AF7EF44B@yahoo.com> <2C1E2F87-2FC3-481C-A508-C76B2D7CFF7F@yahoo.com> <619A02CC-0EBA-4B50-A3BB-C326996AE706@yahoo.com> <B6A3C3C8-4AB9-43B5-A93F-8F2B6DE5E5E9@yahoo.com> <CB0E5ECD-CDDA-46A7-812B-744AF7645A78@yahoo.com> <20201229010220.GA36311@www.zefox.net> <78A4DEC3-421F-419D-ABDE-9F3724E44C8D@yahoo.com> <7E0A320A-4C81-4C7B-B5D0-E6681FFA24FC@yahoo.com> <DB6C87A3-19DC-4979-AC17-FD1261782803@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[clang.full built this time.]

On 2020-Dec-29, at 13:24, Mark Millard <marklmi at yahoo.com> wrote:

> On 2020-Dec-29, at 02:15, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> On 2020-Dec-29, at 00:16, Mark Millard <marklmi at yahoo.com> wrote:
>>=20
>>> On 2020-Dec-28, at 17:02, bob prohaska <fbsd@www.zefox.net> wrote:
>>>=20
>>>> On Mon, Dec 28, 2020 at 04:14:51PM -0800, Mark Millard wrote:
>>>>> [I get the problem as well! I report a backtrace of the failure
>>>>> and some more.]
>>>>>=20
>>>>=20
>>>> Relieved to see it's reproducible. =20
>>> . . .
>>>=20
>>> I tried reducing the size of things to be produced via building
>>> the target based on the likes of using:
>>>=20
>>> WITHOUT_LLVM_TARGET_AARCH64=3D
>>> WITH_LLVM_TARGET_ARM=3D
>>> WITHOUT_LLVM_TARGET_MIPS=3D
>>> WITHOUT_LLVM_TARGET_POWERPC=3D
>>> WITHOUT_LLVM_TARGET_RISCV=3D
>>> WITHOUT_LLVM_TARGET_X86=3D
>>> MALLOC_PRODUCTION=3D
>>> WITH_MALLOC_PRODUCTION=3D
>>> WITHOUT_ASSERT_DEBUG=3D
>>> WITHOUT_LLVM_ASSERTIONS=3D
>>> WITHOUT_DEBUG_FILES=3D
>>>=20
>>> (But the host 13 was unchanged.)
>>>=20
>>> It still failed, but at a different memory allocation, of a
>>> different size:
>>>=20
>>> r4             0x8000              32768
>>>=20
>>> (gdb) bt
>>> #0  thr_kill () at thr_kill.S:4
>>> #1  0x4227d998 in __raise (s=3D6) at =
/usr/src/lib/libc/gen/raise.c:52
>>> #2  0x42332284 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
>>> #3  0x00da5e4c in report_bad_alloc_error () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/ErrorHandling.cpp:174
>>> #4  0x00da61c8 in out_of_memory_new_handler() () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/ErrorHandling.cpp:187
>>> #5  0x420f5d24 in operator new (size=3D<optimized out>) at =
/usr/src/contrib/llvm-project/libcxx/src/new.cpp:73
>>> #6  0x00e16878 in SetBufferSize () at =
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/raw_ostream.h:131
>>> #7  SetBuffered () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp:97
>>> #8  0x00e17368 in write () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp:251
>>> #9  0x00ddfe20 in operator<< () at =
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/raw_ostream.h:192
>>> #10 operator<< () at =
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/raw_ostream.h:205
>>> #11 printSymbolizedStackTrace () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:154
>>> #12 0x00de163c in PrintStackTrace () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:575
>>> #13 0x00ddf604 in RunSignalHandlers () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:67
>>> #14 0x00de1f3c in SignalHandler () at =
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:396
>>> #15 0x42021db4 in handle_signal (actp=3Dactp@entry=3D0x424df7b0, =
sig=3D<optimized out>, info=3Dinfo@entry=3D0x424df7f0, ucp=3D<optimized =
out>) at /usr/src/lib/libthr/thread/thr_sig.c:303
>>> #16 0x420213f8 in thr_sighandler (sig=3D0, info=3D0x424df7f0, =
_ucp=3D0x424df830) at /usr/src/lib/libthr/thread/thr_sig.c:246
>>> #17 0xffffe190 in ?? ()
>>> Backtrace stopped: previous frame identical to this frame (corrupt =
stack?)
>>=20
>>=20
>> Updating the host 13 made no significant difference in
>> behavior.
>>=20
>> Using:
>>=20
>> time -l /usr/bin/ld --eh-frame-hdr -Bstatic -o clang /usr/lib/crt1.o =
/usr/lib/crti.o /usr/lib/crtbeginT.o =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/legac=
y/usr/lib =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-t=
ools/lib/libz =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-t=
ools/lib/libexecinfo =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-t=
ools/lib/libelf =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-t=
ools/lib/ncurses/ncursesw =
-L/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-t=
ools/lib/libthr -L/usr/lib --gc-sections cc1_main.o cc1as_main.o =
cc1gen_reproducer_main.o driver.o =
/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-too=
ls/lib/clang/libclang/libclang.a =
/usr/obj/rpi2_clang/arm.armv7/usr/fbsd/stable-12-src/arm.armv7/tmp/obj-too=
ls/lib/clang/libllvm/libllvm.a -lz -lexecinfo -lelf -lncursesw -lpthread =
-legacy -lc++ -lm -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/crtend.o =
/usr/lib/crtn.o
>>=20
>> it reported after the failure output (an example):
>>=20
>> time: command terminated abnormally
>>      26.59 real         9.40 user        12.48 sys
>>  2052032  maximum resident set size
>>    21793  average shared memory size
>>      218  average unshared data size
>>      127  average unshared stack size
>>   703238  page reclaims
>>        0  page faults
>>        0  swaps
>>       55  block input operations
>>     3104  block output operations
>>        0  messages sent
>>        0  messages received
>>        1  signals received
>>    41126  voluntary context switches
>>      447  involuntary context switches
>>=20
>> where looking up getrusage reports that:
>>=20
>> ru_maxrss    the maximum resident set size utilized (in kilobytes).
>>=20
>> which means: 44.0625 MiByte below 2 GiBytes for the resident set.
>>=20
>> Adding --threads=3D1 made little difference:
>>=20
>> time: command terminated abnormally
>>      28.84 real         9.28 user        12.78 sys
>>  2065016  maximum resident set size
>>    21872  average shared memory size
>>      219  average unshared data size
>>      127  average unshared stack size
>>   709661  page reclaims
>>        0  page faults
>>        0  swaps
>>       48  block input operations
>>     3050  block output operations
>>        0  messages sent
>>        0  messages received
>>        1  signals received
>>    36717  voluntary context switches
>>      114  involuntary context switches
>> Abort trap
>=20
>=20
> I found another difference between how 13 is built and
> stable/12 is built, so I'm trying another build.
>=20
> The below shows what I've changed in stable/12 , but 13
> eliminated even having the conditional logic, always
> using -O2 -pipe :
>=20
> # git diff | more
> diff --git a/share/mk/sys.mk b/share/mk/sys.mk
> index 9099b63a61a0..53d1e30b1d56 100644
> --- a/share/mk/sys.mk
> +++ b/share/mk/sys.mk
> @@ -167,7 +167,7 @@ CFLAGS              ?=3D      -O
> .else
> CC             ?=3D      cc
> .if ${MACHINE_CPUARCH} =3D=3D "arm" || ${MACHINE_CPUARCH} =3D=3D =
"mips"
> -CFLAGS         ?=3D      -O -pipe
> +CFLAGS         ?=3D      -O2 -pipe
> .else
> CFLAGS         ?=3D      -O2 -pipe
> .endif
>=20
> I'll report if the use of ld to produce clang.full still
> fails or not.
>=20
> I've left the other things attempting to lead to less memory
> use in place.
>=20

With the use of -O2 instead of -O , the bootstrap clang.full
linked and the later activities in building the bootstrap
clang worked as well. The build has also built the bootstrap
lld and is off doing things that use the bootstrap clang
and lld.

I've not checked if -O2 usage would be a sufficient
change by itself. For one, various other aspects of my
normal builds vs. yours could be different: I've not
replicated your context in any detail.

=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?67E8786A-79E7-409A-BF4D-738F4FEB5EFF>