[PATCH] algol68: Use correct exports section name for Mach-O
Jose E. Marchesi
jemarch@gnu.org
Mon Jun 8 13:53:40 GMT 2026
>> On 8 Jun 2026, at 14:09, Pietro Monteiro <pietro@sociotechnical.xyz> 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.
I suspect Pietro may have stumbled into some MacosX tool that actually
expects that convention to be used?
> 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.
>
> Iain
>
>>
>> Signed-off-by: Pietro Monteiro <pietro@sociotechnical.xyz>
>> ---
>> 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
>>
More information about the Algol68
mailing list