[power-iee128] How to specify linker flags

Thomas Koenig tkoenig@netcologne.de
Mon Jan 3 10:19:21 GMT 2022


On 02.01.22 23:58, Thomas Koenig wrote:
> Hi Michael,
> 
>> If you are building libraries that contain modules with multiple long 
>> double
>> types, you must use the '-mno-gnu-attribute'.  We also use the 
>> '-Wno-psabi'
>> option, which silences the warning that you are switching long double 
>> types (if
>> glibc is not 2.34 or newer).  We may need to tweak -Wno-psabi for use 
>> with
>> Fortran.
> 
> I am now at the point where the object files are also compiled correctly
> for the gfortran specifics:
> 
> 0000000000000000 <_gfortran_specific__abs_r17>:
>     0:   09 00 43 f4     lxv     vs34,0(r3)
>     4:   48 16 40 fc     xsabsqp v2,v2
>     8:   20 00 80 4e     blr
> 
> However, the linker complains, as you said it would, about the different
> formats:
> 
> /opt/at15.0/bin/ld: .libs/maxloc0_4_r16.o uses IBM long double, 
> .libs/_abs_r17.o uses IEEE long double
> /opt/at15.0/bin/ld: failed to merge target specific data of file 
> .libs/_abs_r17.o
> 
> I know next to nothing about libtool, so I do not know how to
> add the flags so the linker can find them.
> 
> Any pointers?

One additional point.  The linker does not understand
-mno-gnu-attribute:

$ /opt/at15.0/bin/ld -mno-gnu-attribute
/opt/at15.0/bin/ld: unrecognised emulation mode: no-gnu-attribute
Supported emulations: elf64lppc elf32lppc elf32lppclinux elf32lppcsim 
elf64ppc elf32ppc elf32ppclinux elf32ppcsim

So, waiting for info to proceed.

Best regards

	Thomas


More information about the Gcc mailing list