From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 49449384B0CF; Thu, 9 Sep 2021 08:54:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 49449384B0CF From: "mail at milianw dot de" To: glibc-bugs@sourceware.org Subject: [Bug dynamic-link/28248] is there a way to LD_PRELOAD library before other dynamic libraries? Date: Thu, 09 Sep 2021 08:54:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: dynamic-link X-Bugzilla-Version: 2.33 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mail at milianw dot de X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: security- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: glibc-bugs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-bugs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2021 08:54:20 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28248 --- Comment #5 from Milian Wolff --- I just tried the linker flag with the example given above, but sadly it doe= sn't help as only the `calling init` is changed, but `calling fini` isn't - this= was probably what you had in mind when you raised the potential issue about constructor/destructor order. ``` $ gcc -shared -fPIC -o preload_dump.so preload_dump.c LD_DEBUG=3Dfiles LD_PRELOAD=3D$PWD/preload_dump.so bash --version |& grep -i calling 7413: calling init: /lib64/ld-linux-x86-64.so.2 7413: calling init: /usr/lib/libc.so.6 7413: calling init: /usr/lib/libncursesw.so.6 7413: calling init: /usr/lib/libdl.so.2 7413: calling init: /usr/lib/libreadline.so.8 7413: calling init: /tmp/preload_dump.so 7413: calling fini: bash [0] 7413: calling fini: /tmp/preload_dump.so [0] 7413: calling fini: /usr/lib/libreadline.so.8 [0] 7413: calling fini: /usr/lib/libdl.so.2 [0] 7413: calling fini: /usr/lib/libncursesw.so.6 [0] $ gcc -shared -fPIC -Wl,-z,initfirst -o preload_dump.so preload_dump.c $ LD_DEBUG=3Dfiles LD_PRELOAD=3D$PWD/preload_dump.so bash --version |& grep= -i calling 7373: calling init: /tmp/preload_dump.so 7373: calling init: /lib64/ld-linux-x86-64.so.2 7373: calling init: /usr/lib/libc.so.6 7373: calling init: /usr/lib/libncursesw.so.6 7373: calling init: /usr/lib/libdl.so.2 7373: calling init: /usr/lib/libreadline.so.8 7373: calling fini: bash [0] 7373: calling fini: /tmp/preload_dump.so [0] 7373: calling fini: /usr/lib/libreadline.so.8 [0] 7373: calling fini: /usr/lib/libdl.so.2 [0] 7373: calling fini: /usr/lib/libncursesw.so.6 [0] ``` Too bad! That would seem to indicate that I'm out of luck here and must stop calling `__libc_freeres` - or does someone have an alternative suggestion I could employ? --=20 You are receiving this mail because: You are on the CC list for the bug.=