[LinuxCNC/linuxcnc PR#454] Fix undefined symbols inb, inl, outb when building without io.h

未分类 bolang 5个月前 (10-15) 28次浏览

Issue #454 | 状态: 已关闭 | 作者: antohami | 创建时间: 2018-07-04


When building to aarch64, for which is not available, undefined symbols inb, inl, outb are created in the libraries hm27i43.so, hm27i90.so and serial.so.
The commit https://github.com/LinuxCNC/linuxcnc/commit/aa18ad4909bfc5278ece363cf80de61823b1de7b#diff-1e0916462e2abd03736e702b73ce6c11 was not enough.


评论 (6)

#1 – jepler 于 2018-07-04

I believe that back when I worked on this the “error” would only be at loadrt time, not at compile time, and the “fix” leaves you with drivers that will load but cannot communicate with the related ISA-PC-style hardware that can’t even be attached to aarch64 so I didn’t bother modifying these components. Did you get compile-time diagnostics about this?

In any case, I also don’t see any harm this could do for users on more common platforms, so I went ahead and merged the PR.


#2 – rene-dev 于 2018-07-04

can those drivers not be excluded at compiletime?


#3 – antohami 于 2018-07-04

I believe that nothing terrible could happen. But automatic tests did not allow me to build linuxcnc for aarch64 in the ALT Linux distribution.
It would be better not to compile these libraries for architectures other than PC.


#4 – jepler 于 2018-07-04

@midyukov-anton are logs of the failed aarch64 builds available to the public?


#5 – antohami 于 2018-07-05

Automatic tests of ALT Linux distribution found bad elf symbols
http://git.altlinux.org/tasks/archive/done/_204/209208/logs/events.7.1.log
And I could not send the package to the repository.


#6 – jepler 于 2018-07-05

Quoted for posterity, I don’t know how long such a log is maintained by altlinux.org:

aarch64: NEW badelfsymbols detected:
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i43.so U inb
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i43.so U inl
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i43.so U outb
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i90.so U inb
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i90.so U inl
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/hm2_7i90.so U outb
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/serport.so U inb
linuxcnc-2.7.14-alt1.aarch64.rpm /usr/lib/linuxcnc/modules/serport.so U outb
2018-Jul-01 11:23:39 :: ELF symbols check FAILED
2018-Jul-01 11:23:39 :: task #209208 for sisyphus FAILED

these are additional checks performed by their build system, not a check that is integrated into linuxcnc’s build process.


原始Issue: https://github.com/LinuxCNC/linuxcnc/pull/454

喜欢 (0)