> 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 ..
Iain