]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ctf: blacklist certain modules from deduplication
authorNick Alcock <nick.alcock@oracle.com>
Tue, 7 Aug 2012 08:46:38 +0000 (09:46 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Mon, 29 Jun 2015 21:40:29 +0000 (22:40 +0100)
commit9c4c2387c1506a2cdd76f06b1955da8d740c795c
tree724a65004d610447c4645a5332d0fa5e4f07e177
parentf7d3cae073b2ac4f4ad1978fae92ab91cf533d4e
ctf: blacklist certain modules from deduplication

sound/pci/ens1371.c #includes another file, ens1370.c, with a #define
that changes the definition, but not name, of a single structure.

While this grotesquerie is permitted in C, there's no way that translation units
that engage in it can be permitted to share types with other translation units.
More specifically, types defined in such TUs must not be permitted to transform
a non-shared type to shared by virtue of their being detected in such TUs.

I'd like to detect the redefined structures themselves, but since the
preprocessor trickery leaves no mark in the DWARF another pass would be
necessary just to detect this. It's easier -- and faster -- to introduce a
blacklist of modules that do things like this and simply turn deduplication
scanning off for these modules. (Because they are still allowed to reuse
duplicates found in other modules, this does not increase their size
appreciably.)

Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
scripts/Makefile.modpost
scripts/dwarf2ctf/dedup.blacklist [new file with mode: 0644]
scripts/dwarf2ctf/dwarf2ctf.c