--- Begin Message ---
- From: Lance Larsh <Lance dot Larsh at oracle dot com>
- To: <oracle-list at redhat dot com>
- Date: Thu, 6 Feb 2003 18:46:54 -0800 (PST)
- Subject: Re: bugzilla #83477
- Reply-to: oracle-list at redhat dot com
On Thu, 6 Feb 2003, Lance Larsh wrote:
>
> On Thu, 6 Feb 2003, Lance Larsh wrote:
>
> > So it seems the 0x7fff mask is not right, since it is possible for the
> > .gnu.version section to be larger than that. In fact ELF32_R_SYM()
> > allows 24 bits for the index.
>
> After checking the 2.2.5->2.3 change log, it's clear that this is a typo.
> Similar (but correct) code is found in do-rel.h. The 2 one-liners in the
> patch below resolve the issue.
>
> Please ignore any earlier patch you might have received from me. It was
> missing one of the changes.
I'm sending this separately from the dl-runtime.c patch because I don't
have any way to test it, but it's basically the same type of fix as the
ones in dl-runtime.c. This is the last place I found (based on the
2.2.5->2.3 change log) that needed a fix. Note that the change log shows
2 changes in dl-machine.h, but only one of them appears broken.
-Lance
--- sysdeps/mips/dl-machine.h.orig Sat Sep 28 13:12:57 2002
+++ sysdeps/mips/dl-machine.h Thu Feb 6 18:39:05 2003
@@ -293,7 +293,7 @@
{ \
const ElfW(Half) *vernum = \
(const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]); \
- ElfW(Half) ndx = vernum[sym_index & 0x7fff]; \
+ ElfW(Half) ndx = vernum[sym_index] & 0x7fff; \
const struct r_found_version *version = &l->l_versions[ndx]; \
\
if (version->hash != 0) \
_______________________________________________
oracle-list mailing list
oracle-list@redhat.com
https://listman.redhat.com/mailman/listinfo/oracle-list
--- End Message ---