Skip to contentSkip to conversation

New: BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

Buildroot bugzilla at busybox.net 1 participant 6 messages Aug 30, 2017 – Jun 15, 2024

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=10276

Bug ID: 10276
Summary: BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with
"gpio-hammer.o: ABI is incompatible with that of the selected emulation"
Product: buildroot
Version: 2017.05.1
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at buildroot.uclibc.org
Reporter: ciro.santilli at gmail.com
CC: buildroot at uclibc.org
Target Milestone: ---

Ubuntu 16.04 host:

```
git checkout bc4f5598dccc191a1e2c6268fdcef1935e2fa212
make qemu_mips64r6_malta_defconfig
echo '
BR2_PACKAGE_LINUX_TOOLS=y
BR2_PACKAGE_LINUX_TOOLS_GPIO=y
' >> .config
env -u LD_LIBRARY_PATH time make BR2_JLEVEL=14
```

error log:

DESCEND gpio
mkdir -p include/linux 2>&1 || true
ln -sf /data/git/buildroot/output/build/linux-4.11.3/tools/gpio/../../include/uapi/linux/gpio.h include/linux/gpio.h

  CC       gpio-event-mon.o
  CC       gpio-hammer.o
  CC       lsgpio.o
  CC       gpio-utils.o
  CC       gpio-utils.o
  CC       gpio-utils.o
  LD       gpio-event-mon-in.o

gpio-utils.o: file not recognized: File truncated /data/git/buildroot/output/build/linux-4.11.3/tools/build/Makefile.build:149:
recipe for target 'gpio-event-mon-in.o' failed
make[4]: *** [gpio-event-mon-in.o] Error 1
Makefile:58: recipe for target 'gpio-event-mon-in.o' failed make[3]: *** [gpio-event-mon-in.o] Error 2
make[3]: *** Waiting for unfinished jobs....
LD gpio-hammer-in.o
/data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld:
gpio-hammer.o: ABI is incompatible with that of the selected emulation /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: failed to merge target specific data of file gpio-hammer.o /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld:
gpio-utils.o: ABI is incompatible with that of the selected emulation /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: failed to merge target specific data of file gpio-utils.o /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: Attempt to do relocatable link with elf64-tradbigmips input and elf32-ntradbigmips output /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld:
gpio-hammer.o: file class ELFCLASS64 incompatible with ELFCLASS32 /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: final link failed: File in wrong format /data/git/buildroot/output/build/linux-4.11.3/tools/build/Makefile.build:149:
recipe for target 'gpio-hammer-in.o' failed
make[4]: *** [gpio-hammer-in.o] Error 1
Makefile:49: recipe for target 'gpio-hammer-in.o' failed
make[3]: *** [gpio-hammer-in.o] Error 2
LD lsgpio-in.o
/data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: lsgpio.o:
ABI is incompatible with that of the selected emulation /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: failed to merge target specific data of file lsgpio.o /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld:
gpio-utils.o: ABI is incompatible with that of the selected emulation /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: failed to merge target specific data of file gpio-utils.o /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: Attempt to do relocatable link with elf64-tradbigmips input and elf32-ntradbigmips output /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: lsgpio.o:
file class ELFCLASS64 incompatible with ELFCLASS32 /data/git/buildroot/output/host/bin/mips64-buildroot-linux-uclibc-ld: final link failed: File in wrong format /data/git/buildroot/output/build/linux-4.11.3/tools/build/Makefile.build:149:
recipe for target 'lsgpio-in.o' failed
make[4]: *** [lsgpio-in.o] Error 1
Makefile:40: recipe for target 'lsgpio-in.o' failed
make[3]: *** [lsgpio-in.o] Error 2
Makefile:61: recipe for target 'gpio' failed
make[2]: *** [gpio] Error 2
package/pkg-generic.mk:227: recipe for target '/data/git/buildroot/output/build/linux-tools/.stamp_built' failed make[1]: *** [/data/git/buildroot/output/build/linux-tools/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 10276] BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

https://bugs.busybox.net/show_bug.cgi?id=10276

--- Comment #1 from Thomas Petazzoni <[email protected]> --- Could you try to adapt https://patchwork.ozlabs.org/patch/729154/ to the gpio linux-tools package, and see if it works for you ?

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 10276] BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10276

Yann E. MORIN <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

           Assignee|unassigned at buildroot.uclibc |yann.morin.1998 at free.fr
                   |.org                        |
             Status|NEW                         |ASSIGNED
                 CC|                            |yann.morin.1998 at free.fr

--- Comment #2 from Yann E. MORIN <[email protected]> --- Given the following:

CC gpio-utils.o
LD gpio-event-mon-in.o
gpio-utils.o: file not recognized: File truncated /data/git/buildroot/output/build/linux-4.11.3/tools/build/Make file.build:149: recipe for target 'gpio-event-mon-in.o' failed

it looks like it might be a parallel build issue, where gpio-event-mon-in.o needs gpio-utils.o, but it is not yet built.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 10276] BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10276

--- Comment #3 from Thomas Petazzoni <[email protected]> --- Well, I'm pretty sure its the issue fixed for perf by
https://patchwork.ozlabs.org/patch/729154/. When ld is used directly for linking, it needs to be explicitly told the endianness.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#4 lore raw

[Buildroot] [Bug 10276] BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10276

--- Comment #4 from Yann E. MORIN <[email protected]> --- Thomas, I can very easily reproduce the truncated file issue, and it indeed always happen with parallel builds, but not always.

And I can even reproduce it in a native build, on Linus' linux master:

$ make -j1000
mkdir -p include/linux 2>&1 || true
ln -sf /home/ymorin/dev/linux/linux/tools/gpio/../../include/uapi/linux/gpio.h
include/linux/gpio.h
make -f /home/ymorin/dev/linux/linux/tools/build/Makefile.build dir=.
obj=lsgpio
make -f /home/ymorin/dev/linux/linux/tools/build/Makefile.build dir=.
obj=gpio-hammer
make -f /home/ymorin/dev/linux/linux/tools/build/Makefile.build dir=.
obj=gpio-event-mon
make[1]: Entering directory '/home/ymorin/dev/linux/linux/tools/gpio'
make[1]: Entering directory '/home/ymorin/dev/linux/linux/tools/gpio'
make[1]: Entering directory '/home/ymorin/dev/linux/linux/tools/gpio'
  CC       gpio-event-mon.o
  CC       lsgpio.o
  CC       gpio-hammer.o
  CC       gpio-utils.o
  CC       gpio-utils.o
  CC       gpio-utils.o
gpio-event-mon.c: In function ?monitor_device?:
gpio-event-mon.c:100:19: warning: format ?%lu? expects argument of type ?long
unsigned int?, but argument 3 has type ?__u64 {aka long long unsigned int}?
[-Wformat=]
   fprintf(stdout, "GPIO EVENT %" PRIu64 ": ", event.timestamp);
                   ^~~~~~~~~~~~~~
  LD       gpio-event-mon-in.o
gpio-utils.o: file not recognized: File truncated
/home/ymorin/dev/linux/linux/tools/build/Makefile.build:143: recipe for target
'gpio-event-mon-in.o' failed
make[1]: *** [gpio-event-mon-in.o] Error 1
make[1]: Leaving directory '/home/ymorin/dev/linux/linux/tools/gpio'
Makefile:58: recipe for target 'gpio-event-mon-in.o' failed
make: *** [gpio-event-mon-in.o] Error 2
make: *** Waiting for unfinished jobs....
  LD       lsgpio-in.o
make[1]: Leaving directory '/home/ymorin/dev/linux/linux/tools/gpio'
  LD       gpio-hammer-in.o
make[1]: Leaving directory '/home/ymorin/dev/linux/linux/tools/gpio'

Yet, you are right that there is also (and more importantly) a problem with using ld instead of gcc.

So, there are two issues in one. ;-)

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#5 lore raw

[Buildroot] [Bug 10276] BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with "gpio-hammer.o: ABI is incompatible with that of the selected emulation"

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10276

Yann E. MORIN <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

         Resolution|---                         |MOVED
             Status|ASSIGNED                    |RESOLVED

--- Comment #5 from Yann E. MORIN <[email protected]> --- THank you for your report.

The issue tracker for the Buildroot project has been moved to the Gitlab.com issue tracker:
https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old tracker. If you believe your issue is still relevant, please open one in the new issue tracker.

Thank you!

Signature · 6 lines
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot