From: Ulrich Drepper <drepper@gnu.org>
To: egcs@cygnus.com, gcc2@cygnus.com
Cc: drepper@ipd.info.uni-karlsruhe.de
Subject: the dynamic linker bug
Date: Fri, 12 Dec 1997 03:55:00 -0000 [thread overview]
Message-ID: <x73ejz120d.fsf@myware.rz.uni-karlsruhe.de> (raw)
Hi,
I describe here what I found out. I cannot produce a small test case
but I can compare two assembler outputs and explain the context with
the sources. All this is on ix86. At then end of the mail is the
preprocessed source. You have to run
gcc /tmp/dl-reloc.i -Wall -c -O3 -g -momit-leaf-frame-pointer -mpentium -fPIC -fno-common -o dl-reloc.o
I tried to remove the -Wall but this changes the result!!!!!
The critical part of the code is compiled using the current CVS egcs
version (ok, the CVS version as of yesterday):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2d7: 89 45 b0 movl %eax,0xffffffb0(%ebp)
2da: 83 bd 50 ff ff cmpl $0x0,0xffffff50(%ebp)
2df: ff 00
2e1: 74 35 je 318 <_dl_relocate_object+0x318>
2e3: 8b 8d 50 ff ff movl 0xffffff50(%ebp),%ecx
2e8: ff
2e9: 83 79 04 00 cmpl $0x0,0x4(%ecx)
2ed: 74 29 je 318 <_dl_relocate_object+0x318>
2ef: 52 pushl %edx
2f0: 51 pushl %ecx
2f1: 8b 7d c8 movl 0xffffffc8(%ebp),%edi
2f4: 8b 57 fc movl 0xfffffffc(%edi),%edx
2f7: 8b 02 movl (%edx),%eax
2f9: 8b 40 04 movl 0x4(%eax),%eax
2fc: 50 pushl %eax
2fd: 8b 42 04 movl 0x4(%edx),%eax
300: 50 pushl %eax
301: 8d 45 e8 leal 0xffffffe8(%ebp),%eax
304: 50 pushl %eax
305: 8b 45 e8 movl 0xffffffe8(%ebp),%eax
308: 8b 00 movl (%eax),%eax
30a: 03 47 f8 addl 0xfffffff8(%edi),%eax
30d: 50 pushl %eax
30e: e8 fc ff ff ff call 30f <_dl_relocate_object+0x30f>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using an older version 2.90.15 I get:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2d7: 89 45 b0 movl %eax,0xffffffb0(%ebp)
2da: 83 bd 50 ff ff cmpl $0x0,0xffffff50(%ebp)
2df: ff 00
2e1: 74 35 je 318 <_dl_relocate_object+0x318>
2e3: 8b 8d 50 ff ff movl 0xffffff50(%ebp),%ecx
2e8: ff
2e9: 83 79 04 00 cmpl $0x0,0x4(%ecx)
2ed: 74 29 je 318 <_dl_relocate_object+0x318>
2ef: 52 pushl %edx
2f0: 51 pushl %ecx
2f1: 8b 7d c8 movl 0xffffffc8(%ebp),%edi
2f4: 8b 57 fc movl 0xfffffffc(%edi),%edx
2f7: 8b 02 movl (%edx),%eax
2f9: 8b 40 04 movl 0x4(%eax),%eax
2fc: 50 pushl %eax
2fd: 8b 42 04 movl 0x4(%edx),%eax
300: 50 pushl %eax
301: 8d 45 e8 leal 0xffffffe8(%ebp),%eax
304: 50 pushl %eax
305: 8b 4d b0 movl 0xffffffb0(%ebp),%ecx
308: 8b 01 movl (%ecx),%eax
30a: 03 47 f8 addl 0xfffffff8(%edi),%eax
30d: 50 pushl %eax
30e: e8 fc ff ff ff call 30f <_dl_relocate_object+0x30f>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The critical instruction is at address 305. You see the difference
wrong: 305: 8b 45 e8 movl 0xffffffe8(%ebp),%eax
correct: 305: 8b 4d b0 movl 0xffffffb0(%ebp),%ecx
The other key location is 2d7 where is both pieces of code 0xffffffb0(%ebp)
is initialized.
Looking at the source code you'll see this implements the following
(function elf_machine_rel, a bit reformatted):
const Elf32_Sym *const refsym = sym;
Elf32_Addr value = (( version ) != ((void *)0)
&& ( version )->hash != 0
? _dl_lookup_versioned_symbol (strtab + (* &sym )->st_name,
( &sym ), scope, l->l_name,
( version ), ( (( reloc->r_info ) & 0xff) ))
: _dl_lookup_symbol (strtab + (* &sym )->st_name, ( &sym ), scope,
l->l_name, ( (( reloc->r_info ) & 0xff) ))) ;
The call is too `_dl_lookup_versioned_symbol' ad the parameter we are
dealing with is the first which is computed as
strtab + (* &sym )->st_name
Please note that the second parameter is `&sym'.
Back to the assembler code: Obviously at address 30a the value of
`strtab' is added. The `st_name' element of `Elf32_Sym' is the first,
i.e., the
movl (%ecx),%eax
if the dereference of the pointer. But this means the %ecx (or %eax
in the wrong code, both solutions are equivalent here) has to be the
pointer `sym'. This value is loaded at address 305.
In the correct case it is loaded from 0xffffffb0(%ebp) which was
initialized at address 2d7.
But in the wrong case %eax is loaded from 0xffffffe8(%ebp). Please
note that this is the address which was pushed for the second
parameter before. The error is that at address 2d7 the value at
address 0xffffffb0(%ebp) is initialized, as for the correct version.
But this does not mean anything but that at address 305 uninitialized
memory is read.
So the problem is: why is at address 305 0xffffffe8(%ebp) read and not
0xffffffb0(%ebp)?
-- Uli
---------------. drepper at gnu.org ,-. Rubensstrasse 5
Ulrich Drepper \ ,-------------------' \ 76149 Karlsruhe/Germany
Cygnus Solutions `--' drepper at cygnus.com `------------------------
begin 644 dl-reloc.i.gz
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
MQGB&!CR*/NIEXI%"))UI0"P$%:BL95;IN,54\5^C#/ZA9[JP<P>_%+*W3
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
;19)5B^.417]2A'QI7%L5O^W^'X"XRVV.^P``
`
end
next reply other threads:[~1997-12-12 3:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-12-12 3:55 Ulrich Drepper [this message]
1997-12-12 1:52 ` H.J. Lu
[not found] <9712121305.AA19929@vlsi1.ultra.nyu.edu>
1997-12-12 14:32 ` Ulrich Drepper
1997-12-12 15:46 ` H.J. Lu
[not found] <19308.881955381@hurl.cygnus.com>
1997-12-12 15:46 ` H.J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=x73ejz120d.fsf@myware.rz.uni-karlsruhe.de \
--to=drepper@gnu.org \
--cc=drepper@ipd.info.uni-karlsruhe.de \
--cc=egcs@cygnus.com \
--cc=gcc2@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).