* Luya Tshimbalanga:

> I managed to resolve some issue but now the problem is related to the
> hardened part:
>
> https://koji.fedoraproject.org/koji/taskinfo?taskID=32324093
>
> Here is the following lines for the failure:
>
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_sse2.o: relocation R_X86_64_32
> against symbol
> `RenderTile___uniuniREFs_5B_unInputHeader_5D_REFs_5B_unInputDataArrays_5D_uniun_3C_unT_3E_un_3C_unT_3E_un_3C_unT_3E_sse2'
> can not be used when making a PIE object; recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_sse4.o: relocation R_X86_64_32S
> against `.rodata.cst16' can not be used when making a PIE object;
> recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_avx.o: relocation R_X86_64_32
> against symbol
> `RenderTile___uniuniREFs_5B_unInputHeader_5D_REFs_5B_unInputDataArrays_5D_uniun_3C_unT_3E_un_3C_unT_3E_un_3C_unT_3E_avx'
> can not be used when making a PIE object; recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_avx2.o: relocation R_X86_64_32S
> against `.rodata.cst32' can not be used when making a PIE object;
> recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_avx512knl.o: relocation
> R_X86_64_32 against symbol
> `RenderTile___uniuniREFs_5B_unInputHeader_5D_REFs_5B_unInputDataArrays_5D_uniun_3C_unT_3E_un_3C_unT_3E_un_3C_unT_3E_avx512knl'
> can not be used when making a PIE object; recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: kernels_ispc_avx512skx.o: relocation
> R_X86_64_32 against symbol
> `RenderTile___uniuniREFs_5B_unInputHeader_5D_REFs_5B_unInputDataArrays_5D_uniun_3C_unT_3E_un_3C_unT_3E_un_3C_unT_3E_avx512skx'
> can not be used when making a PIE object; recompile with -fPIC
> BUILDSTDERR: /usr/bin/ld: final link failed: nonrepresentable section on
> output
> BUILDSTDERR: collect2: error: ld returned 1 exit status
> BUILDSTDERR: make[2]: ***
> [examples/deferred/CMakeFiles/deferred_shading.dir/build.make:204:
> bin/deferred_shading] Error 1
> BUILDSTDERR: make[1]: *** [CMakeFiles/Makefile2:370:
> examples/deferred/CMakeFiles/deferred_shading.dir/all] Error 2
> BUILDSTDERR: make: *** [Makefile:133: all] Error 2

I tried to build with --pic, using the attached patch, but got this:

[ 68%] Generating perfbench_ispc.h, perfbench_ispc.o, perfbench_ispc_sse2.h, 
perfbench_ispc_sse2.o, perfbench_ispc_sse4.h, perfbench_ispc_sse4.o, 
perfbench_ispc_avx.h, perfbench_ispc_avx.o, perfbench_ispc_avx2.h, 
perfbench_ispc_avx2.o, perfbench_ispc_avx512knl.h, perfbench_ispc_avx512knl.o, 
perfbench_ispc_avx512skx.h, perfbench_ispc_avx512skx.o
cd /builddir/build/BUILD/ispc-1.10.0/examples/perfbench && ../../bin/ispc 
/builddir/build/BUILD/ispc-1.10.0/examples/perfbench/perfbench.ispc --pic 
--target=sse2-i32x4,sse4-i32x4,avx1-i32x8,avx2-i32x8,avx512knl-i32x16,avx512skx-i32x16
 --arch=x86-64 -h 
/builddir/build/BUILD/ispc-1.10.0/examples/perfbench/perfbench_ispc.h -o 
/builddir/build/BUILD/ispc-1.10.0/examples/perfbench/perfbench_ispc.o
make[2]: Leaving directory '/builddir/build/BUILD/ispc-1.10.0'
BUILDSTDERR: /builddir/build/BUILD/ispc-1.10.0/src/main.cpp(353): FATAL ERROR: 
Unhandled signal sent to process; terminating.
BUILDSTDERR: ***
BUILDSTDERR: *** Please file a bug report at https://github.com/ispc/ispc/issues
BUILDSTDERR: *** (Including as much information as you can about how to 
reproduce this error).
BUILDSTDERR: *** You have apparently encountered a bug in the compiler that 
we'd like to fix!
BUILDSTDERR: ***
BUILDSTDERR: make[2]: *** 
[examples/perfbench/CMakeFiles/perfbench.dir/build.make:65: 
examples/perfbench/perfbench_ispc.h] Aborted (core dumped)

This looks like something upstream needs to investigate. 8-(

Thanks,
Florian

The examples are linked as PIE, so position-independent code is needed.
ispc only supports --pic, so use that.

diff --git a/examples/cmake/AddISPCExample.cmake 
b/examples/cmake/AddISPCExample.cmake
index dbd80e7643b9f803..a88d2e5279fad32a 100644
--- a/examples/cmake/AddISPCExample.cmake
+++ b/examples/cmake/AddISPCExample.cmake
@@ -93,7 +93,7 @@ function(add_ispc_example)
     endif()
     # ISPC command
     add_custom_command(OUTPUT ${ISPC_BUILD_OUTPUT}
-        COMMAND ${ISPC_EXECUTABLE} 
${CMAKE_CURRENT_SOURCE_DIR}/${ISPC_SRC_NAME}.ispc ${example_ISPC_FLAGS} 
--target=${ISPC_TARGETS} --arch=${ISPC_ARCH}
+        COMMAND ${ISPC_EXECUTABLE} 
${CMAKE_CURRENT_SOURCE_DIR}/${ISPC_SRC_NAME}.ispc ${example_ISPC_FLAGS} --pic 
--target=${ISPC_TARGETS} --arch=${ISPC_ARCH}
                                     -h ${ISPC_HEADER_NAME} -o ${ISPC_OBJ_NAME}
         VERBATIM
         DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${ISPC_SRC_NAME}.ispc")
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to