authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-10 06:53:42+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-10 09:40:44+01:00
log80e567b6bdf65e23024b9b662768b577541dbcd4
tree0fda65b91685ffbab4bc423829e82ea1cadf9667
parent8fae6630c49964be272e53062f76466fb9437969
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.pie: add kvx support


1 files changed, 8 insertions(+), 0 deletions(-)

lib/std/pie.zig+8
...@@ -11,6 +11,7 @@ const R_ARM_RELATIVE = 23;...@@ -11,6 +11,7 @@ const R_ARM_RELATIVE = 23;
11const R_AARCH64_RELATIVE = 1027;11const R_AARCH64_RELATIVE = 1027;
12const R_CSKY_RELATIVE = 9;12const R_CSKY_RELATIVE = 9;
13const R_HEXAGON_RELATIVE = 35;13const R_HEXAGON_RELATIVE = 35;
14const R_KVX_RELATIVE = 39;
14const R_LARCH_RELATIVE = 3;15const R_LARCH_RELATIVE = 3;
15const R_68K_RELATIVE = 22;16const R_68K_RELATIVE = 22;
16const R_MICROBLAZE_REL = 16;17const R_MICROBLAZE_REL = 16;
...@@ -31,6 +32,7 @@ const R_RELATIVE = switch (builtin.cpu.arch) {...@@ -31,6 +32,7 @@ const R_RELATIVE = switch (builtin.cpu.arch) {
31 .alpha => R_ALPHA_RELATIVE,32 .alpha => R_ALPHA_RELATIVE,
32 .csky => R_CSKY_RELATIVE,33 .csky => R_CSKY_RELATIVE,
33 .hexagon => R_HEXAGON_RELATIVE,34 .hexagon => R_HEXAGON_RELATIVE,
35 .kvx => R_KVX_RELATIVE,
34 .loongarch32, .loongarch64 => R_LARCH_RELATIVE,36 .loongarch32, .loongarch64 => R_LARCH_RELATIVE,
35 .m68k => R_68K_RELATIVE,37 .m68k => R_68K_RELATIVE,
36 .microblaze, .microblazeel => R_MICROBLAZE_REL,38 .microblaze, .microblazeel => R_MICROBLAZE_REL,
...@@ -118,6 +120,12 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {...@@ -118,6 +120,12 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
118 : [ret] "=r" (-> [*]const elf.Dyn),120 : [ret] "=r" (-> [*]const elf.Dyn),
119 :121 :
120 : .{ .r1 = true }),122 : .{ .r1 = true }),
123 .kvx => asm volatile (
124 \\ .weak _DYNAMIC
125 \\ .hidden _DYNAMIC
126 \\ pcrel %[ret] = @pcrel(_DYNAMIC)
127 : [ret] "=r" (-> [*]const elf.Dyn),
128 ),
121 .loongarch32, .loongarch64 => asm volatile (129 .loongarch32, .loongarch64 => asm volatile (
122 \\ .weak _DYNAMIC130 \\ .weak _DYNAMIC
123 \\ .hidden _DYNAMIC131 \\ .hidden _DYNAMIC