Re: ar: error: libclang.a: 'ParseDecl.o': section header table goes past EOF [So far: unable to reproduce, even based on llvm19 involvement]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 08 May 2026 00:50:30 UTC
On 5/7/26 16:46, bob prohaska wrote:
> On Thu, May 07, 2026 at 02:33:13PM -0700, Mark Millard wrote:
>>
>> How old is your environment that is using llvm19? What commit is it
>> based on?
> 
> Not sure I understand all of what you're asking.

You supplied the kind of information I was looking for.

The system reports
> # uname -apKU
> FreeBSD pelorus.zefox.org 16.0-CURRENT FreeBSD 16.0-CURRENT #37 main-n285410-c0c7d1e1af4e: Thu Apr 30 07:36:49 PDT 2026     bob@pelorus.zefox.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm armv7 1600016 1600016

Sat, 25 Apr 2026 (UTC)
git: c0c7d1e1af4e - main - split.1: grammar Maxim Konovalov

Your Apr 30 PDT date is likely from the time it took to build once you
started that.

That is about 6 main commits before the changes for llvm21 started later
that same day (Apr-25 UTC).

There are no armv7 *.txz artifacts after 2026-Apr-23 18:20 until
2026-Apr-27 18:43. So I can not match c0c7d1e1af4e via using an artifact
build.

What I tested was the armv7 026-Apr-23 18:20 artifact build, as close
(in time) of a pre-llvm21-changes armv7 artifact as is available.


I do not know why the artifact builders stopped building artifacts for a
time. You landed in the middle of that range. I wonder if you are seeing
part of why the builders were not producing builds. But I've no evidence
of that.


> 
> Apart from setting up meta mode no intentional changes have been made. Buildworld runs
> as root with no jails or other sophistications. The filesystem is UFS running a usb-
> attached SATA hard disk. 
> 
> One think I'm not sure of is the present revision of the source tree.

Warning: line wrapping happens below that needs to be fixed.

# cat ~/fbsd-based-on-what-commit.sh
#! /bin/sh
git $* log --oneline --no-color -n 1 \
&& env TZ=UTC git $* log --format=fuller --date=iso-local -n 1 | grep -E
"^(Commit|Author:)" \
&& branch="`git $* branch --show-current`" \
&& echo "branch: $branch" \
&& base="`git $* merge-base freebsd/$branch HEAD`" \
&& git $* log --oneline --no-color $base..HEAD \
&& base_date="`env TZ=UTC git $* log --format=fuller --date=iso-local
--no-color $base^..$base | grep CommitDate:`" \
&& echo "merge-base: $base" \
&& echo "merge-base: $base_date" \
&& echo "n`git $* rev-list --first-parent --count $base` (--first-parent
--count for merge-base)"

With that set executable, a command like:

~/fbsd-based-on-what-commit.sh -C /usr/src

should help if it is a git maintained source tree.

In my context for the /usr/src-alt/ that I used:

# ~/fbsd-based-on-what-commit.sh -C /usr/src-alt/
839d3266d8c6 (HEAD -> main, freebsd/main, freebsd/HEAD) uipc_shm.c: make
large page allocation interruptible
Author:     Konstantin Belousov <kib@FreeBSD.org>
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-05-01 01:06:42 +0000
branch: main
merge-base: 839d3266d8c6f6471cb92a3c0ae32eb16d117427
merge-base: CommitDate: 2026-05-01 01:06:42 +0000
n285621 (--first-parent --count for merge-base

> Git status
> doesn't report that info in terms of commit number or hash. Src was last updated
> earlier today.
> 
> If I missed the point please indicate so.

You supplied what I was after. Thanks.


I'm still no closer to having an idea what else to do for investigation.
So far, you have the only known example failure context.


-- 
===
Mark Millard
marklmi at yahoo.com