diff --git a/lib/std/pie.zig b/lib/std/pie.zig index a5c63e0580dbd66b3f4b17e2ac108b0c8aea8e6b..7bb0713bbdd5c23c271c1bbfdc7b0d96efc9b865 100644 --- a/lib/std/pie.zig +++ b/lib/std/pie.zig @@ -230,11 +230,13 @@ inline fn getDynamicSymbol() [*]const elf.Dyn { .powerpc64, .powerpc64le => asm volatile ( \\ .weak _DYNAMIC \\ .hidden _DYNAMIC + \\ .balign 8 \\ bl 1f + \\ nop \\ .quad _DYNAMIC - . \\1: \\ mflr %[ret] - \\ ld 4, 0(%[ret]) + \\ ld 4, 4(%[ret]) \\ add %[ret], 4, %[ret] : [ret] "=r" (-> [*]const elf.Dyn), :