Bug#911421: marked as done (linux: FTBFS on armel/armhf: ABI change for return_address)
Your message dated Sat, 27 Oct 2018 21:11:30 +0000
with message-id <[hidden email]>
and subject line Bug#911421: fixed in linux 4.9.130-2
has caused the Debian Bug report #911421,
regarding linux: FTBFS on armel/armhf: ABI change for return_address
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [hidden email] immediately.)
The latest linux upload to stretch FTBFS on both armel and armhf due to
symbol changes. The only offending (non-ignored) change is the following:
> ABI has changed! Refusing to continue.
> Changed symbols:
> return_address module: vmlinux, version: 0x0bbae511 -> 0x3244c143, export: EXPORT_SYMBOL_GPL
A cursory look at the source changes since 4.9.110-* didn't yield any
obvious reasons for that to happen, so I've spent some time trying to
figure out what was happening.
First I checked that the toolchain packages were the same between the
last successful builds and the first failing ones, and that the other
installed packages didn't see obvious updates that could account for
With the abel.debian.org porterbox I've been able to work with partial
builds (to speed up debugging) in an armel stretch chroot, comparing
4.9.110-3+deb9u6 and 4.9.130-1, after “make vmlinux” in the
To get more information from genksyms, I've added the -d -D flags to the
genksyms calls in the scripts/Makefile.build file, and triggered another
make vmlinux 2>&1 | tee ~/build.txt
Comparing build.txt for both 4.9.110 and 4.9.130, this popped up:
-Export return_address == <__attribute__ ( ( always_inline ) ) __attribute__ ( ( no_instrument_function ) ) void * return_address ( unsigned int ) >
+Export return_address == <__attribute__ ( ( always_inline , unused ) ) __attribute__ ( ( no_instrument_function ) ) void * return_address ( unsigned int ) >
along with many more lines accounting for the addition of the “unused”
With this hint in mind, it was way easier to spot candidates:
With both commits reverted, a partial build leads to the come back of
the wanted value for the return_address symbol (0x0bbae511), so this
should fix / work around the FTBFS. A full build wasn't attempted
though; feel free to ping me if you'd like that to happen for armel
and/or armhf on abel.