#163 Use the ieee128 format for long double on ppc64le
Merged a month ago by sergesanspaille. Opened 2 months ago by tstellar.
rpms/ tstellar/clang ppc64le-ieee128  into  rawhide

file modified
+8 -1
@@ -41,7 +41,7 @@ 

  

  Name:		%pkg_name

  Version:	%{clang_version}%{?rc_ver:~rc%{rc_ver}}

- Release:	2%{?dist}

+ Release:	3%{?dist}

  Summary:	A C language family front-end for LLVM

  

  License:	NCSA
@@ -316,6 +316,7 @@ 

  

  # -DLLVM_ENABLE_NEW_PASS_MANAGER=ON can be removed once this patch is committed:

  # https://reviews.llvm.org/D107628

+ # -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON to match gcc.

  %cmake  -G Ninja \

  	-DLLVM_PARALLEL_LINK_JOBS=1 \

  	-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
@@ -365,6 +366,9 @@ 

  	-DCLANG_BUILD_EXAMPLES:BOOL=OFF \

  	-DBUILD_SHARED_LIBS=OFF \

  	-DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}" \

+ %if 0%{?fedora}

+ 	-DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON \

+ %endif

  %ifarch %{arm}

  	-DCLANG_DEFAULT_LINKER=lld \

  %endif
@@ -597,6 +601,9 @@ 

  

  %endif

  %changelog

+ * Thu May 19 2022 Tom Stellard <tstellar@redhat.com> - 14.0.0-3

+ - Use the ieee128 format for long double on ppc64le

+ 

  * Mon Apr 04 2022 Jeremy Newton <alexjnewt AT hotmail DOT com> - 14.0.0-2

  - Add patch for HIP (cherry-picked from llvm trunk, to be LLVM15)

  

@@ -0,0 +1,7 @@ 

+ summary: Test that gcc and clang use the same long double format on ppc64le

+ require:

+   - clang

+   - qemu-user-static

+   - mock

+ test: ./runtest.sh

+ duration: 1h

@@ -0,0 +1,14 @@ 

+ set -e

+ 

+ fedora_release=`rpm -E %{fedora}`

+ mock_root=fedora-$fedora_release-ppc64le

+ triple=ppc64le-redhat-linux

+ 

+ mock -r $mock_root --isolation=simple --install gcc

+ gcc_output=$(mock -r $mock_root --isolation=simple -q --shell gcc -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)

+ clang_output=$(clang -target $triple  -E -dM -x c /dev/null | grep -e __LONG_DOUBLE_IEEE128__ -e __LONG_DOUBLE_IBM128__)

+ 

+ echo "gcc:   $gcc_output"

+ echo "clang: $clang_output"

+ 

+ test "$gcc_output" = "$clang_output"

gcc switched to ieee128 as the default, so clang needs to do this to maintain ABI compatibility.

2 new commits added

  • Use the ieee128 format for long double on ppc64le
  • Add test for building an rpm with -fopenmp
2 months ago

It looks like the cmake option did not work as expected, I'm investigating this.

2 new commits added

  • Use the ieee128 format for long double on ppc64le
  • Add test for building an rpm with -fopenmp
2 months ago

rebased onto b0bc948

a month ago

rebased onto 27327ff

a month ago

Pull-Request has been merged by sergesanspaille

a month ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci