> On 8 Jun 2026, at 15:33, Iain Sandoe <[email protected]> wrote:
> 
> 
> 
>> On 8 Jun 2026, at 15:23, Pietro Monteiro <[email protected]> wrote:
>> 
>> On Mon, Jun 8, 2026, at 9:59 AM, Iain Sandoe wrote:
>>>> On 8 Jun 2026, at 14:53, Jose E. Marchesi <[email protected]> wrote:
>>>> 
>>>>>> 
>>>>>> On 8 Jun 2026, at 14:09, Pietro Monteiro <[email protected]> 
>>>>>> wrote:
>>>>>> 
>>>>>> Mach-O objects prefix section names with double underscore instead of
>>>>>> period.  Use correct exports section name on systems that use Mach-O.
>>>>>> 
>>>>>> gcc/algol68/ChangeLog:
>>>>>> 
>>>>>> * a68.h (A68_EXPORT_SECTION_NAME): Prefix name with double
>>>>>> underscores for Mach-O objects.
>>>>> 
>>>>> I am a bit puzzled by this - since I had memory that we (Jose and I) had 
>>>>> already
>>>>> fixed things so that Darwin’s segment and section names were correct.
>>>>> (indeed, AFAIK a68 exports in object files and convenience libraries are 
>>>>> already
>>>>> working)?
>>>> 
>>>> I am also a bit confused.  From our past testing, it looked like in
>>>> Darwin it was ok to create a section .a68_exports and then read it in,
>>>> conventions notwithstanding.
>>> 
>>> That is my expectation - that, at the binary level, all that matters is 
>>> that the
>>> segment and section names are <= 16 chars in length (there is no terminating
>>> nul in the file).
>> 
>> Without the patch `otool` shows the libga68 .dylib having a __GNU_A68
>> segment with a __a68_exports section in it. Maybe the system `as`
>> (clang) "fixes" the name ?
> 
> I don’t think so.
> 
> e.g. posix.s ==> posix.o
> 
>        .build_version macos,  15, 0
>        .section __GNU_A68,__a68_exports
> 
> It looks like we are emitting this from the compiler already .. which kinda 
> stacks
> up with my recollection that we’d already been down this road - I do apologise
> that my recollection is fuzzy ..

config/darwin.h:

/* Algol68 */
#undef A68_EXPORT_SECTION_NAME
#define A68_EXPORT_SECTION_NAME "__a68_exports"

Which, I believe already overides because of...

#ifndef A68_EXPORT_SECTION_NAME

so the proposed patch is not needed (already done).

sorry for taking time to recall the details.
Iain


> 
> Iain


Reply via email to