xtensa compiler error triggered by 'locking/lockdep: Implement the 'crossrelease' feature'

From: Guenter Roeck
Date: Sun Sep 10 2017 - 14:35:12 EST


Hi,

xtensa:allmodconfig fails to build in mainline with compiler errors
as follows.

drivers/staging/rtl8723bs/core/rtw_ap.c: In function âexpire_timeout_chkâ:
drivers/staging/rtl8723bs/core/rtw_ap.c:442:1: internal compiler error:
in change_address_1, at emit-rtl.c:2126

drivers/staging/rtl8188eu/core/rtw_ap.c: In function âexpire_timeout_chkâ:
drivers/staging/rtl8188eu/core/rtw_ap.c:445:1: internal compiler error:
in change_address_1, at emit-rtl.c:2150

I tried gcc 6.3, 6.4, and 7.2; they all have the same problem.

Bisect points to commit b09be676e0f ("locking/lockdep: Implement the
'crossrelease' feature").

The compile error is still seen if I disable CONFIG_LOCKDEP_CROSSRELEASE.
The image builds fine if I disable both CONFIG_RTL8723BS and CONFIG_R8188EU.

Guenter

---
# bad: [24e700e291d52bd200212487e2b654c0aa3f07a2] Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
# good: [569dbb88e80deb68974ef6fdd6a13edb9d686261] Linux 4.13
git bisect start '24e700e291d5' '569dbb88e80d'
# good: [906dde0f355bd97c080c215811ae7db1137c4af8] Merge tag 'drm-for-v4.14' of git://people.freedesktop.org/~airlied/linux
git bisect good 906dde0f355bd97c080c215811ae7db1137c4af8
# bad: [edc2988c548db05e33b921fed15821010bc74895] Merge branch 'linus' into locking/core, to fix up conflicts
git bisect bad edc2988c548db05e33b921fed15821010bc74895
# good: [17bf1ad2e80db7c9bdafec9c2da72389247194e9] RDMA/mlx4: Properly annotate link layer variable
git bisect good 17bf1ad2e80db7c9bdafec9c2da72389247194e9
# good: [fe91f28138e730790db014812623cfaadd318fa6] Merge tag 'hwmon-for-linus-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
git bisect good fe91f28138e730790db014812623cfaadd318fa6
# bad: [e91498589746065e3ae95d9a00b068e525eec34f] locking/lockdep/selftests: Add mixed read-write ABBA tests
git bisect bad e91498589746065e3ae95d9a00b068e525eec34f
# bad: [28a903f63ec0811ead70ad0f8665e838d207a25e] locking/lockdep: Handle non(or multi)-acquisition of a crosslock
git bisect bad 28a903f63ec0811ead70ad0f8665e838d207a25e
# good: [b70cecf4b6b72a9977576ab32cca0e24f286f517] jump_label: Move CPU hotplug locking
git bisect good b70cecf4b6b72a9977576ab32cca0e24f286f517
# good: [a9668cd6ee288c4838bc668880ac085be551cac2] locking: Remove smp_mb__before_spinlock()
git bisect good a9668cd6ee288c4838bc668880ac085be551cac2
# good: [49347a986ab45eb1dafbf25170647c890f8ff192] locking/lockdep: Add a function building a chain between two classes
git bisect good 49347a986ab45eb1dafbf25170647c890f8ff192
# good: [ce07a9415f266e181a0a33033a5f7138760240a4] locking/lockdep: Make check_prev_add() able to handle external stack_trace
git bisect good ce07a9415f266e181a0a33033a5f7138760240a4
# bad: [23f873d8f9526ed7e49a1a02a45f8afb9ae5fb84] locking/lockdep: Detect and handle hist_lock ring buffer overwrite
git bisect bad 23f873d8f9526ed7e49a1a02a45f8afb9ae5fb84
# bad: [b09be676e0ff25bd6d2e7637e26d349f9109ad75] locking/lockdep: Implement the 'crossrelease' feature
git bisect bad b09be676e0ff25bd6d2e7637e26d349f9109ad75
# first bad commit: [b09be676e0ff25bd6d2e7637e26d349f9109ad75] locking/lockdep: Implement the 'crossrelease' feature