gcc-12-20220102 is now available

2022-01-02 Thread GCC Administrator via Gcc
Snapshot gcc-12-20220102 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/12-20220102/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 12 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch master 
revision 9ff206d3865df5cb8407490aa9481029beac087f

You'll find:

 gcc-12-20220102.tar.xz   Complete GCC

  SHA256=d2c7e42ab6cb96e40e99a5995d713e093cf20bf7da980f48f6db8c541ed78fa4
  SHA1=2d0eeb2c1d18f42a34c50a237538f3bd588bfeba

Diffs from 12-20211226 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-12
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


[power-iee128] How to specify linker flags

2022-01-02 Thread Thomas Koenig via Gcc

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:

 <_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?

(I have not yet committed the changes because I do not want to
commit something that does not compile.  If anybody wants to
take a look, it's on the ieee128 virtual machine under
/home/tkoenig/ieee ).

Regards

Thomas