mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
This patch stops "modpost" from issuing erroneous modpost warnings on ARM builds, which it's been doing since since maybe last summer. A canonical example would be driver method table entries: WARNING: <path> - Section mismatch: reference to .exit.text:<name>_remove from .data after '$d' (at offset 0x4) That "$d" symbol is generated by tools conformant with ARM ABI specs; in this case it's a symbol **in the middle of** a "<name>_driver" struct. The erroneous warnings appear to be issued because "modpost" whitelists references from "<name>_driver" data into init and exit sections ... but doesn't know should also include those "$d" mapping symbols, which are not otherwise associated with "<name>_driver" symbols. This patch prevents the modpost symbol lookup code from ever returning those mapping symbols, so it will return a whitelisted symbol instead. Then things work as expected. Now to revert various code-bloating "fixes" that got merged because of this modpost bug.... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Roman Zippel <zippel@linux-m68k.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| basic | ||
| genksyms | ||
| kconfig | ||
| ksymoops | ||
| mod | ||
| package | ||
| rt-tester | ||
| .gitignore | ||
| bin2c.c | ||
| binoffset.c | ||
| bloat-o-meter | ||
| checkincludes.pl | ||
| checkstack.pl | ||
| checkversion.pl | ||
| conmakehash.c | ||
| export_report.pl | ||
| extract-ikconfig | ||
| gcc-version.sh | ||
| gcc-x86_64-has-stack-protector.sh | ||
| gen_initramfs_list.sh | ||
| hdrcheck.sh | ||
| kallsyms.c | ||
| Kbuild.include | ||
| kernel-doc | ||
| Lindent | ||
| Makefile | ||
| Makefile.build | ||
| Makefile.clean | ||
| Makefile.headersinst | ||
| Makefile.host | ||
| Makefile.lib | ||
| Makefile.modinst | ||
| Makefile.modpost | ||
| makelst | ||
| mkcompile_h | ||
| mkmakefile | ||
| mksysmap | ||
| mkuboot.sh | ||
| mkversion | ||
| namespace.pl | ||
| patch-kernel | ||
| pnmtologo.c | ||
| profile2linkerlist.pl | ||
| setlocalversion | ||
| show_delta | ||
| unifdef.c | ||
| ver_linux | ||