Re: ar: error: libclang.a: 'ParseDecl.o': section header table goes past EOF

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 06 May 2026 04:59:02 UTC
On 5/5/26 17:32, bob prohaska wrote:
> On Tue, May 05, 2026 at 11:37:12AM -0700, Mark Millard wrote:
>> On 5/5/26 07:48, bob prohaska wrote:
>>> A Pi2B (armv7) is failing buildworld with:
>>>
>>> Building static clang library
>>> ar: error: libclang.a: 'ParseDecl.o': section header table goes past the end of 
>>> the file: e_shoff = 0x131190

How big is the ParseDecl.o file that gets this report?

</usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/Parse/ParseDecl.o>

(Note the tmp/ in that path. Also the <> usage is in hopes of forming
one long line and are not part of the file path.)

>>
>> That error message can happen for the file content being corrupted. One
>> form of corruption can be truncated because of running out of file
>> system space. But there can be many others. Failed writes or later
>> read-back problems are possibilities. Bad RAM content that was written
>> out could be involved.
>>
>> Did you check the console output/log for any messages that might have
>> been from the time frame(s) for the file generation or read-back?
>>
>>> *** [libclang.a] Error code 1
>>> ....
>>> make[4]: stopped making "all" in /usr/src/lib/clang/libclang
>>> .ERROR_TARGET='libclang.a'
>>> .ERROR_META_FILE='/usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/li
>>> bclang.a.meta'

Can you publish the content of the file:

</usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/Parse_ParseDecl.o.meta>

These paths with arm.armv7/tmp/ involved are from the bootstrap build
process, not the later normal build process.

It is the attempt to create libclang.a that is reading ParseDecl.o and
discovering/reporting the problem with the ParseDecl.o that had been
generated earlier.

>>> .MAKE.LEVEL='4'
>>> ............
>>>
>>> /usr/src was updated 5/4/26.
>>>
>>> Re-running git pull reports:
>>> Updating 8e8d87856241..9f2ad7c09709
>>> and it looks as if only sbin and sys
>>> files have changed.
>>>  
>>> I'll run a make cleandir and try again. If there are
>>> other things to try please let me know.
>>
>> There are a rather wide range of possibilities. If it turns out to not
>> be readily reproducible, then the details may never be known.
> 
> It seems to be quite reproducible. After two runs of make cleandir and
> a git pull (which did find updates) the error repeats. 
> 
> Thanks for reading, suggestions welcome!
> 
> bob prohaska
> 
> 
> 


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