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 15:54:32 UTC
On 5/6/26 07:50, bob prohaska wrote:
> On Tue, May 05, 2026 at 09:59:02PM -0700, Mark Millard wrote:
>> 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>
> 
> # ls -l /usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/Parse/ParseDecl.o
> -rw-r--r--  1 root wheel 393216 May  3 19:15 /usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/Parse/ParseDecl.o

That earlier 0x131190 was a offset in the file. 0x131190 == 1249680 .
That is a lot bigger than 393216.

> 
>>
>> (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.)
>>
> Including the < and > in the pathname triggered a syntax error. Likely I 
> misundersood the tip or I'm using a different shell. 

Only use the text inside the <>'s.

The <>'s are an attempt to prevent the message I send from splitting the
long text into more than one line in the process --even if I do not
split it myself. Otherwise you might have to splice together the full
path. Adding spaces just inside the <>'s would not work for the purpose,
thus the lack of such spaces.

> 
> 
>>
>> Can you publish the content of the file:
>>
>> </usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libclang/Parse_ParseDecl.o.meta>
> 
> The file has been placed at
> http://www.zefox.net/~fbsd/rpi2/20260506/

You published ParseDecl.o instead of publishing Parse_ParseDecl.o.meta .

Parse_ParseDecl.o.meta is a text file produced by use of META_MODE . I
expect it will include the text of the command that produced
ParseDecl.o .

Like earlier: omit the <> characters when extracting the path.

> 
> After placing it there using sftp, running file on it locally reported
> fbsd@www:~/public_html/rpi2/20260506 % file *
> ParseDecl.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (FreeBSD), missing section headers at 1249720

So, apparently, the 1249680 offset was from 40 bytes into the file,
leading to the 1249720 figure.

> 
> Perhaps unsurpisingly it can't be viewed in a browser. 
> It does display neatly (but unintelligibly to me) using
> hexdump.
> 
> Thanks for writing, please indicate any more experiments
> that come to mind.
> 
> bob prohaska
> 
> 
> 
> 


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