> 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).
> I suspect Pietro may have stumbled into some MacosX tool that actually
> expects that convention to be used?
I don’t think any of the ones I regularly use would complain … but let
me know if there is one.
>> However, using the __ prefix convention is a good step, so OK from a Darwin
>> PoV.
>
> I also think that following conventions is the safest course.
yeah, it stops people double-taking.
Iain
>
>>
>> Iain
>>
>>>
>>> Signed-off-by: Pietro Monteiro <[email protected]>
>>> ---
>>> gcc/algol68/a68.h | 6 +++++-
>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/gcc/algol68/a68.h b/gcc/algol68/a68.h
>>> index 13603061290..c4895ae6527 100644
>>> --- a/gcc/algol68/a68.h
>>> +++ b/gcc/algol68/a68.h
>>> @@ -73,7 +73,11 @@ enum
>>> /* The section name we use when reading and writing export data. */
>>>
>>> #ifndef A68_EXPORT_SECTION_NAME
>>> -#define A68_EXPORT_SECTION_NAME ".a68_exports"
>>> +# ifdef OBJECT_FORMAT_MACHO
>>> +# define A68_EXPORT_SECTION_NAME "__a68_exports"
>>> +# else
>>> +# define A68_EXPORT_SECTION_NAME ".a68_exports"
>>> +# endif
>>> #endif
>>>
>>> /* ga68 export format definitions. See ga68-exports.pk. */
>>> --
>>> 2.43.0