gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] memory damaged at (system:STRING-MATCH:anykey:verbose) -


From: Camm Maguire
Subject: Re: [Gcl-devel] memory damaged at (system:STRING-MATCH:anykey:verbose) - PS
Date: 08 Jul 2004 11:47:50 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

OK, we have another relocation error, it appears.

Here is my disassembly:

0x08686204 <L45+94>:    cmpl   $0x5,(%ecx)
0x08686207 <L45+97>:    ja     0x868676b <L45+1477>
0x0868620d <L45+103>:   mov    0xffffff8c(%ebp),%esi
0x08686210 <L45+106>:   mov    (%esi),%eax
0x08686212 <L45+108>:   shl    $0x2,%eax
0x08686215 <L45+111>:   mov    0x8687e20(%eax),%eax
0x0868621b <L45+117>:   jmp    *%eax

as compared to yours

> 0x1a894ffb <L44+881>:   cmpl   $0x5,(%ecx)
> 0x1a894ffe <L44+884>:   ja     0x1a8955a1 <L44+2327>
> 0x1a895004 <L44+890>:   mov    0xffffff74(%ebp),%esi
> 0x1a89500a <L44+896>:   mov    (%esi),%eax
> 0x1a89500c <L44+898>:   shl    $0x2,%eax
> 0x1a89500f <L44+901>:   mov    0x0(%eax),%eax
> 0x1a895015 <L44+907>:   jmp    *%eax

The issue appears to be that the code in sfasl.c does not handle the
.rodata section in which recent gcc is apparently placing the jump
table addresses used by the switch statement.  We need the analogous
RODATA_NSCN in ext_sym.h, plus logic to setup a s_start_rodata in
struct sfasl_info in sfasl.c.  Check out objdump -r and objdump -d on
clmacs.o.

I wonder how many other sections there are like this.  Just one more
piece of incentive to try to centralize around bfd on mingw at some
point.  sfasl.c needs serious cleaning at the very least I think.

Take care,
-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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