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

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.current
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.