mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
caf539cd10
Older versions of bintutils do not allow symbol math across different segments on sparc: ==================== Assembler messages: 99: Error: operation combines symbols in different segments ==================== This is controlled by whether or not DIFF_EXPR_OK is defined in gas/config/tc-*.h and for sparc this was not the case until mid-2017. So we have to patch between %stick and %tick another way. Do what powerpc does and emit two versions of the relevant functions, one using %tick and one using %stick, and patch the symbols in the dynamic symbol table. Fixes: 2f6c9bf31a0b ("sparc: Improve VDSO instruction patching.") Reported-by: Meelis Roos <mroos@linux.ee> Tested-by: Meelis Roos <mroos@linux.ee> Signed-off-by: David S. Miller <davem@davemloft.net>
28 lines
498 B
ArmAsm
28 lines
498 B
ArmAsm
/*
|
|
* Linker script for 64-bit vDSO.
|
|
* We #include the file to define the layout details.
|
|
*
|
|
* This file defines the version script giving the user-exported symbols in
|
|
* the DSO.
|
|
*/
|
|
|
|
#define BUILD_VDSO64
|
|
|
|
#include "vdso-layout.lds.S"
|
|
|
|
/*
|
|
* This controls what userland symbols we export from the vDSO.
|
|
*/
|
|
VERSION {
|
|
LINUX_2.6 {
|
|
global:
|
|
clock_gettime;
|
|
__vdso_clock_gettime;
|
|
__vdso_clock_gettime_stick;
|
|
gettimeofday;
|
|
__vdso_gettimeofday;
|
|
__vdso_gettimeofday_stick;
|
|
local: *;
|
|
};
|
|
}
|