On Mon, Jun 8, 2026, at 10:41 AM, Iain Sandoe wrote:
>> 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.

sorry I got mixed up. I guess I only grep'ed the algol68 dir. lesson learned :)

pietro

> Iain
>
>
>> 
>> Iain

Reply via email to