<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60355>60355</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Polly] error: relocation R_X86_64_PC32 cannot be used against symbol 'PollyCategory'; recompile with -fPIC
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ms178
      </td>
    </tr>
</table>

<pre>
    I get the following build error when compiling current LLVM-17 trunk with Clang 16 (8ec0a369675b8406460fac1f94a6f2d84b7c0bb4), Clang 16 (3f94a38388fd07f4436da97ddef6abb48ebd0554) and also Clang 15.0.7:
```
[3665/4047] Linking CXX shared module lib/LLVMPolly.so
FAILED: lib/LLVMPolly.so 
: && /home/marcus/llvm16/bin/clang++ -fPIC -O3 -march=native -mtune=native -maes -mllvm -inline-threshold=1000 -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -fno-math-errno -fno-trapping-math -falign-functions=32 -funroll-loops -fno-semantic-interposition -fcf-protection=none -mharden-sls=none -fomit-frame-pointer -mprefer-vector-width=256 -flto -fprofile-instr-use=/home/marcus/Downloads/llvm16.profdata -g0 -Wp,-D_FORTIFY_SOURCE=0 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -pedantic -Wno-long-long -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -flto=full -fno-exceptions -fno-rtti -O3 -DNDEBUG -Wl,--lto-O3,-O3,-Bsymbolic-functions,--as-needed -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -fuse-ld=lld -Wl,-zmax-page-size=0x200000 -Wl,-z,nodelete -fuse-ld=lld -shared  -o lib/LLVMPolly.so tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/DependenceInfo.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/PolyhedralInfo.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopDetection.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopDetectionDiagnostic.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopInfo.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopBuilder.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopGraphPrinter.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/ScopPass.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/PruneUnprofitable.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/BlockGenerators.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslAst.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslExprBuilder.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/CodeGeneration.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/LoopGenerators.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/LoopGeneratorsGOMP.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/LoopGeneratorsKMP.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IRBuilder.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/Utils.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/RuntimeDebugBuilder.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/CodegenCleanup.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/PerfMonitor.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Exchange/JSONExporter.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/GICHelper.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/SCEVAffinator.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/SCEVValidator.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/RegisterPasses.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/ScopHelper.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/ScopLocation.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/ISLTools.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/DumpModulePass.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/DumpFunctionPass.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Support/VirtualInstruction.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/Canonicalization.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/CodePreparation.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/DeadCodeElimination.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ScheduleOptimizer.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ScheduleTreeTransform.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/FlattenSchedule.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/FlattenAlgo.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ForwardOpTree.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/DeLICM.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ZoneAlgo.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/Simplify.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/MaximalStaticExpansion.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ScopInliner.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/ManualOptimizer.cpp.o tools/polly/lib/CMakeFiles/obj.Polly.dir/Transform/MatmulOptimizer.cpp.o tools/polly/lib/CMakeFiles/LLVMPolly.dir/Plugin/Polly.cpp.o lib/libPollyISL.a && :
ld.lld: error: relocation R_X86_64_PC32 cannot be used against symbol 'PollyCategory'; recompile with -fPIC
>>> defined in lto.tmp
>>> referenced by ld-temp.o
>>> lto.tmp:(_GLOBAL__sub_I_DependenceInfo.cpp)

```
This seems to be a very recent regression, as I had no such problem with Clang 16 (3f94a38388fd07f4436da97ddef6abb48ebd0554).

[PKGBUILD.txt](https://github.com/llvm/llvm-project/files/10527459/PKGBUILD.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsmU9z4yoSwD8NuVC4ZPTH9iEH24qz3ue8uJKZyexeXEi0JGYQsIASZz79FpKTTGZyec-qPW1VyrFE90_ddDeCNnNO1ArgEqUrlOYXrPONtpetm87mF4Xmz5dbXIPHvgFcaSn1k1A1LjohOQZrtcVPDShc6tYIGYbKzlpQHu92X27IdIa97dR3_CR8g9eSqRpPM4zofA5lxOJskc3SYp5EWZJFFSun1SJhWUX5PClmZVQUCaILRNfvVOMgFM_j-bzi0axKkjjjbDHjHKqMFUUyh4JHaRpUMVMcM-n0CyCdRJMZipcoylG0RFl0-hsu01WcZSmimyRKZijN8U6o78Gp9dev2DXMAset5p0ELEWB6CY4uddSPk-cHhib5XZ3laN4-YEEPj0mXmJEM0SDN5tGt4DopmW27ByiGykf22mG6KYQCtFNGexGdIXoCpNqv11jchtjEsQbFOeKefEImLS-U_DzNQOHSRtgmAglhQLiGwuu0ZKjOJ9GUfQ6DkdvGXmE0msrfoAlhjn3kz4oVkggpVacOK8tuCD8OuykeVMmjbaD0K_qUmsjlAdbNkzVHw4TLpy3ouj8b8OdslpKwhQn31j7oXIlmfegfnLbg5XAHoG4lkk5SLmSSWaJBd6VXug38dMTbKe8aIG0nfSCwFH4VwlW1xacE48Qpoxo4zGplCYt8w0Ba5Uerr1lxghV9wOYVEyKWpGqU_0DHYrzmOJw3T8wWOUGRQctU16Ug-lGOzFYWJUVMVZ76AEhzFqFGWqY5aCIk-71XqVb4UllWQvE6J6DSWssVGBPUSJPgvuQPDTNMKmkD2YbqyshgQjlvCWdC8n0QXbm-klJzfhbpk6CJmeeYVJHmDwYRNckP2xu7z5tN_863N9-vltfoTgPY0xKTB76dMPkQWnSqc4BJ4YFe3tTH56s8EBCGqjaYfJQMufJfzomMTHA--kZdKVWdf_RXyryKKzvmCTc68DhIMED-WBEaVLqtg2LFKm4YLXSzovSkVLLIBBmBMV51QVrQ1jgWILpQzdcW-_FUIb5n_nV6vM1Jg8yuE2k1-Q2Dl-Hz5V7bgstRflT9IMcc0QBcOD_r8ExarBzQPplTUr-EosfLTsSw2ogTvwI2RwdaRT1y95JANG10kOa_MY4LfaY6I_Wca-1DBVgwo1QCb3I-oZ9h42QEIZ08W0yyHNhEd0sFZPPTvQ1BAYUB1XCVlV6UhozORe51_K5AW6ZHA15X2qTw2nJGZ-Yv9bdaOxRXV-FHQ7Y0XjXlplmb_t6GA26Z86Nkz-2U_BZ9S8BH6r571PXmsM1hK3LSury-zUosMxre4ahb8itk0vnRyJdHY09O8zviH9qDiMST9_C_J1Vg2_EndZm3Ii8J17f3uzHp_4xDnR7N2JsPnshR5nAu-Fdl0PR1SPnTg1qLYGpzoxB3IOtbrQSXp9h4NVx2Hkguvnn_e2fV0ej7Vkr4n1nAgLRzfV2_Q-QZhzY_frqy7KqhGJnufse-IVJwccC3kEtnAe77_eJo5hYajPiDJba7HR55tL1xtve7z4F_TFYedeam_4cf94b9D1xc9rij8X8MhxbtuFE1p25DftkmXKVtm0QZEorUTIpfpwZnXdUzWFvIRzlxoPmwHgAX0nRhlocDXxfNhDif2u8aMN5a1zsJwvwen8c9GY4Wb08YVToUtZn7JzfAbV9YpbfmjADY-XAbru-GYf1b61gPGfvRWukqJ7Hod2wo2iZvPfMi_LqaJhyI6Z7OB5JocZK9BumOiZHrp4b5tvu70DfDucDdC-7uu-eDjcHzqAnRdHf3N7vJuy1DfvSEJZ8IiVH8XLobYcvFuTpLYbvDl_n2SFLDvt1THHJlNIeF4A7BxyzmgnlPB46PhjRWf-cNfNQa_uM6AzFK2xh6JTD0BHvO7ovXeGr4Q9zqIQCjoXC0uuJb82vEn03D1QJHBfPWHLioTUT_avYi3a8RHR-uN7drpa7w8F1xWF7-L0JgejiBPioN_6pEQ47gNZhr4PTDD-CfQ4OgfLYwtCW0QrRNWYOb3HDOFYau65ssLG6kND-_jPAX-jlT95Zl672f1yvPm93-cQfPUpzROeN98b13m4Q3dTCN10xKXV76lWe_hFj9Tcowxu2OuXPNErpLEkXIWN-pr7MyAW_jPkiXrALuJxms2QxzaIpvWguYzabZ0VF44hDwuY8KadZEtG0YGnCFwu4EJc0onE0pfNpQrOUTigkUTSLozIqq2kWT1ESQcuEnATTJtrWF8K5Di6zKE7TC8kKkK7_bYZSBU-4H0SUojS_sJe9O0VXO5REUjjv3iheeNn_qNNnIUrz_2VGX3RWXv7laPS-hXD0vv83AAD__3D6Ddg">