bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/17590] New: Order of multiple defsym commands irrelevant


From: climberking2000 at gmail dot com
Subject: [Bug ld/17590] New: Order of multiple defsym commands irrelevant
Date: Wed, 12 Nov 2014 22:17:37 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=17590

            Bug ID: 17590
           Summary: Order of multiple defsym commands irrelevant
           Product: binutils
           Version: 2.24
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: climberking2000 at gmail dot com

Hey all,

So I may be misunderstanding something basic about linking, if it sounds like
I'm asking something crazy I probably am.

I'm trying to redefine some symbols using defsym in an attempt to emulate
wrapping in a context where -wrap doesn't work. I have symbols (representing
functions) one, two, and three.

I want one to get the value of two, where two will call one.. To do this, I set
one to two, have two call three, and have three overridden by the original
address of one.

In gcc world, this leaves me with

g++ symboltest.o -Wl,-defsym=_three=_one -Wl,-defsym=_one=_two

But this results in all three symbols having the same value. I tested for
whether perhaps things were done backwards and reversed the defsyms, only to
get the same result. Why does this happen?

Note that I'm in a situation where I *can't* require shared linking and
LD_PRELOAD as I would prefer to, nor can I modify the code such that symbols
will be unresolved and thus copacetic for use with wrap. I am game for writing
linker scripts if it becomes necessary, but would prefer to handle this with
command line flags.

Thanks,

David

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]