From: Keith Owens <kaos@ocs.com.au>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] Re: insmod bug causes kernel unwind failures for module text
Date: Tue, 30 Jul 2002 08:28:28 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590701905853@msgid-missing> (raw)
On Thu, 25 Jul 2002 13:38:27 -0400,
Dave Anderson <anderson@redhat.com> wrote:
>There is a bug in the initialization of the unw_table_entry structures for
>all kernel modules, such that any unwind operation that comes upon a kernel
>module text address will fail to find its associated unwind info data in
>the build_script() routine. (Actually it won't be able to determine what
>module it belongs to.)
This patch against modutils 2.4.18 fixes it for me. Unless I hear any
complaints in the next 24 hours, I will roll modutils 2.4.19 with this
change on July 31 11:00 UTC.
Segment base is pretty arbitrary for modules, changing it from start of
text to start of module makes it easier to convert offsets to
addresses. It is also what hppa{64} does for SEGREL.
Index: 18.2/obj/obj_ia64.c
--- 18.2/obj/obj_ia64.c Fri, 01 Mar 2002 11:39:06 +1100 kaos (modutils-2.4/c/0_obj_ia64.c 1.5 644)
+++ 19.3(w)/obj/obj_ia64.c Tue, 30 Jul 2002 17:47:02 +1000 kaos (modutils-2.4/c/0_obj_ia64.c 1.7 644)
@@ -911,12 +911,8 @@ arch_apply_relocation(struct obj_file *f
case R_IA64_SEGREL32LSB : /* @segrel(sym + add), data4 LSB */
case R_IA64_SEGREL64LSB : /* @segrel(sym + add), data8 LSB */
- if (targsec->header.sh_type & SHT_NOBITS)
- v = ifile->bss - v;
- else if (targsec->header.sh_flags & SHF_EXECINSTR)
- v = ifile->text - v;
- else
- v = ifile->data - v;
+ /* Only one segment for modules, see segment_base in arch_archdata */
+ v -= f->baseaddr;
if (r_info = R_IA64_SEGREL32LSB)
COPY_32LSB(loc, v);
else
@@ -1010,7 +1006,7 @@ arch_archdata (struct obj_file *f, struc
ad->unw_start = 0;
ad->unw_end = 0;
ad->unw_table = 0;
- ad->segment_base = f->sections[1]->header.sh_addr;
+ ad->segment_base = f->baseaddr;
for (i = 0; i < f->header.e_shnum; ++i)
{
sec = f->sections[i];
next reply other threads:[~2002-07-30 8:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-30 8:28 Keith Owens [this message]
2002-07-30 13:35 ` [Linux-ia64] Re: insmod bug causes kernel unwind failures for module text Dave Anderson
2002-07-30 14:03 ` Dave Anderson
2002-07-31 1:09 ` Keith Owens
2002-07-31 17:33 ` Dave Anderson
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=marc-linux-ia64-105590701905853@msgid-missing \
--to=kaos@ocs.com.au \
--cc=linux-ia64@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.