From 8b6d8ffe409b377cc974de9534cf951a74f05590 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 13 May 2025 02:53:35 +0000 Subject: ldso: dlsym(): pass the return address to __dlsym() as its third parameter. --- src/ldso/nt64/dlsym.s | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/ldso/nt64/dlsym.s') diff --git a/src/ldso/nt64/dlsym.s b/src/ldso/nt64/dlsym.s index e69de29..0677d8c 100644 --- a/src/ldso/nt64/dlsym.s +++ b/src/ldso/nt64/dlsym.s @@ -0,0 +1,20 @@ +############################################################################ +## mmglue: midipix architecture- and target-specific bits for musl libc ## +## Copyright (C) 2013--2025 SysDeer Technologies, LLC ## +## Released under GPLv2 and GPLv3; see COPYING.MMGLUE. ## +############################################################################ + +.text +.global dlsym + +.def dlsym; .scl 2; .type 32; .endef + +dlsym: + movq (%rsp),%r8 # original return address as third parameter + jmp __dlsym + + .section .got$dlsym,"r" + .global __imp_dlsym +__imp_dlsym: + .quad dlsym + .linkonce discard -- cgit v1.2.3