Bug ID | 1110722 |
---|---|
Summary | pocl uses compile-time CPU detection |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | Other |
OS | openSUSE Factory |
Status | NEW |
Severity | Major |
Priority | P5 - None |
Component | Development |
Assignee | osukup@suse.com |
Reporter | bwiedemann@suse.com |
QA Contact | qa-bugs@suse.de |
CC | mpluskal@suse.com |
Blocks | 1100677 |
Found By | Development |
Blocker | --- |
Steps to Reproduce: osc co Factory/pocl && cd $_ osc build --no-service --vm-type=kvm --build-opt=--vm-custom-opt="-cpu qemu64" +compare result to one without build-opt using /usr/lib/build/pkg-diff.sh $rpm1 $rpm2 Was previously solved with https://build.opensuse.org/request/show/626138 /usr/lib64/libpocl.so.2.2.0 differs in assembler output --- /tmp/tmp.3iZr1DZRz5/tmp.MomrQD5u2D 2018-09-26 04:41:09.682694138 +0000 +++ /tmp/tmp.3iZr1DZRz5/tmp.3XC0iGKeQV 2018-09-26 04:41:09.750694493 +0000 @@ -93827,10 +93827,10 @@ lea offset(%rsp),%rdi lea offset(%rsp),%rsi callq <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@plt> - mov %r12,%rax - sub offset(%rsp),%rax - cmp $something,%rax - jbe <_ZL14kernel_libraryP13_cl_device_id + ofs> + mov offset(%rsp),%rax + or $something,%rax + cmp %r12,%rax + je <_ZL14kernel_libraryP13_cl_device_id + ofs> lea offset(%rip),%rsi # <supported_image_formats + ofs> In the build-root I can see: /home/abuild/rpmbuild/BUILD/pocl-1.2/build/CMakeCache.txt 2033-10-28 17:46:42.015636815 +0000 @@ -411,7 +411,7 @@ LINK_COMMAND:FILEPATH=/usr/bin/ld //The Host CPU to use with llc -LLC_HOST_CPU:STRING=haswell +LLC_HOST_CPU:STRING=pentium2 //LLVM assembler LLVM_AS:FILEPATH=/usr/bin/llvm-as @@ -837,7 +837,7 @@ Hwloc_hwloc_PREFIX:INTERNAL= Hwloc_hwloc_VERSION:INTERNAL= //Autodetected CPU -LLC_HOST_CPU_AUTO:INTERNAL=haswell +LLC_HOST_CPU_AUTO:INTERNAL=pentium2 might be an upstream pocl bug, where the result of CPU detection accidentally gets used during build