Messages in this thread | | | Date | Fri, 27 Jan 2023 18:00:34 +0100 | From | "Arnd Bergmann" <> | Subject | Re: [PATCH] Coresight: tpda/tpdm: remove incorrect __exit annotation |
| |
On Fri, Jan 27, 2023, at 17:46, Suzuki K Poulose wrote: > On 26/01/2023 20:37, Arnd Bergmann wrote: >> On Thu, Jan 26, 2023, at 19:02, Suzuki K Poulose wrote: >>> On 26/01/2023 16:35, Arnd Bergmann wrote: >>>> From: Arnd Bergmann <arnd@arndb.de> >>> Thanks for the fix, I will queue this. Btw, I did try to >>> reproduce it locally, but couldn't trigger the warnings, >>> even with >>> >>> CONFIG_WERROR=y >>> >>> and all CORESIGHT configs builtin. I see other drivers doing the >>> same outside coresight too. Just curious to know why is this >>> any different. Is it specific to "bus" driver (e.g. AMBA) ? >> >> The warning comes from postprocessing the object file, it's got >> nothing to do with the bus type, only with a symbol in .data >> referencing a symbol in .init.text. Maybe there are some >> config options that keep the section from getting discarded? >> Or possibly you only built the files in this directory, but did >> not get to the final link? > > I did a full kernel build. Also, I see a similar issue with the > coresight-etm4x (by code inspection) driver. Did you not hit that ? > > May be there is a config option that is masking it on my end. But > the case of etm4x driver is puzzling. > > $ git grep etm4_remove_amba > drivers/hwtracing/coresight/coresight-etm4x-core.c > drivers/hwtracing/coresight/coresight-etm4x-core.c:static void __exit > etm4_remove_amba(struct amba_device *adev) > drivers/hwtracing/coresight/coresight-etm4x-core.c: .remove > = etm4_remove_amba,
Indeed, that one clearly has the same but, but I have never observed a warning for it.
I checked one more thing and found that I only get the warning for 32-bit Arm builds, but not arm64. Since the etm4x driver 'depends on ARM64' for its use of asm/sysreg.h, I never test-built it on 32-bit arm.
From the git history of arch/arm64/kernel/vmlinux.lds.S, I can see that arm64 never discards the .exit section, see commit 07c802bd7c39 ("arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time").
Arnd
| |