lame -h error???
Milan Kerslager
milan.kerslager na spsselib.hiedu.cz
Úterý Květen 22 10:46:04 CEST 2001
Tohle poslal H. J. Lu, je k tomu kraticky patch, snad projde konferenci.
Kdyby ne, tak mi napiste.
---------- Forwarded message ----------
Date: Sun, 20 May 2001 02:11:15 -0700
From: H . J . Lu <hjl na gnu.org>
Reply-To: testers-list na redhat.com
To: testers-list na redhat.com
Subject: PATCH: Re: lame 3.88beta versus redhat 7.1
On Thu, May 17, 2001 at 10:45:38AM +0200, David Balazic wrote:
>
> On a Seawolf system ( gcc-2.96-81 , nasm-0.98-[67] installed )
>
> wget ftp://lame.sourceforge.net/pub/lame/src/lame3.88beta.tar.gz
> tar xzf lame3.88beta.tar.gz
> cd lame-3.88
> make distclean
> ./configure --without-vorbis # vorbis on Seawolf has some compatibility problems with labe 3.88
> make
> frontend/lame testcase.wav test.mp3 # testcase.wav is part of lame package
> core dump !!!!
>
Here is a new patch. Please use it to replace the one in nasm-0.98-6.
It works for your testcase. But I don't know for sure the nasm is
really fixed.
Thanks.
H.J.
------------- další část ---------------
--- nasm-0.98/outelf.c.boguself Sun May 20 01:25:35 2001
+++ nasm-0.98/outelf.c Sun May 20 02:01:59 2001
@@ -548,7 +548,7 @@ static void elf_add_reloc (struct Sectio
r->symbol = 0;
for (i=0; i<nsects; i++)
if (segment == sects[i]->index)
- r->symbol = i+3;
+ r->symbol = i+2;
if (!r->symbol)
r->symbol = GLOBAL_TEMP_BASE + raa_read(bsym, segment);
}
@@ -922,13 +922,13 @@ static struct SAA *elf_build_symtab (lon
* Now some standard symbols defining the segments, for relocation
* purposes.
*/
- for (i = 1; i <= nsects+1; i++) {
+ for (i = 1; i <= nsects; i++) {
p = entry;
WRITELONG (p, 0); /* no symbol name */
WRITELONG (p, 0); /* offset zero */
WRITELONG (p, 0); /* size zero */
WRITESHORT (p, 3); /* local section-type thing */
- WRITESHORT (p, (i==1 ? SHN_ABS : i-1)); /* the section id */
+ WRITESHORT (p, i); /* the section id */
saa_wbytes (s, entry, 16L);
*len += 16;
(*local)++;
@@ -986,7 +986,7 @@ static struct SAA *elf_build_reltab (lon
long sym = r->symbol;
if (sym >= GLOBAL_TEMP_BASE)
- sym += -GLOBAL_TEMP_BASE + (nsects+3) + nlocals;
+ sym += -GLOBAL_TEMP_BASE + (nsects+2) + nlocals;
p = entry;
WRITELONG (p, r->address);
Další informace o konferenci Linux