[PATCH v2 0/2] Link the PowerPC vDSO with ld.lld
Nathan Chancellor
nathan at kernel.org
Thu May 12 04:49:59 AEST 2022
Hi all,
This series is an alternative to the one proposed by Nick before the
PowerPC vDSO unification in commit fd1feade75fb ("powerpc/vdso: Merge
vdso64 and vdso32 into a single directory"):
https://lore.kernel.org/20200901222523.1941988-1-ndesaulniers@google.com/
Normally, we try to make compiling and linking two separate stages so
that they can be done by $(CC) and $(LD) respectively, which is more in
line with what the user expects, versus using the compiler as a linker
driver and relying on the implicit default linker value. However, as
shown in the above thread, getting this right for the PowerPC vDSO is a
little tricky due to the linker emulation values.
The unification might make this easier but that needs further
investigation. To avoid regressing ld.bfd while enabling support for
linking the vDSO with ld.lld, we can tell the compiler to use ld.lld via
either '--ld-path=' (clang 12.0.0) or '-fuse-ld=lld'.
The first patch avoids a warning from ld.lld when linking both vDSO
objects and the second patch adds the flags.
This should help avoid the issue noticed during Alexey's LTO bring up:
https://lore.kernel.org/CAKwvOdmUMhqhQhDCpWjMNiQQPvwOJB9MbUkF3RR0BL+H+DagmA@mail.gmail.com/
Changelog:
v1 -> v2: https://lore.kernel.org/20220509204635.2539549-1-nathan@kernel.org/
* Flush out the second commit message much more with information from
this cover letter and the other threads (Alexey's LTO enablement and
Nick's initial stab at converting to $(CC) + $(LD)) [Nick].
* Add Nick and Alexey's tags.
Nathan Chancellor (2):
powerpc/vdso: Remove unused ENTRY in linker scripts
powerpc/vdso: Link with ld.lld when requested
arch/powerpc/kernel/vdso/Makefile | 1 +
arch/powerpc/kernel/vdso/vdso32.lds.S | 1 -
arch/powerpc/kernel/vdso/vdso64.lds.S | 1 -
3 files changed, 1 insertion(+), 2 deletions(-)
base-commit: b6b1c3ce06ca438eb24e0f45bf0e63ecad0369f5
--
2.36.1
More information about the Linuxppc-dev
mailing list