This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: rebase segfault
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 15 Jan 2013 11:07:45 +0100
- Subject: Re: rebase segfault
- References: <50F516C8.9050602@gmail.com>
- Reply-to: cygwin at cygwin dot com
On Jan 15 09:43, marco atzeri wrote:
> rebase is segfaulting on two dlls of new package
>
> postgresql-contrib-9.2.2-1
>
> Full packages here
> http://matzeri.altervista.org/cygwin-1.7/postgresql/
>
> Just the two dll's here:
> http://matzeri.altervista.org/works/rebase/
>
> for i in *.dll; do echo $i ; rebase -O $i ; done
>
> dict_snowball.dll
> Segmentation fault (core dumped)
>
> ltree.dll
> Segmentation fault (core dumped)
I don't know exactly what's going on here, but there's a common
factor:
$ objdump -h dict_snowball.dll
dict_snowball.dll: file format pei-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00016808 4ef01000 4ef01000 00000400 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
1 .data 00017180 4ef18000 4ef18000 00016e00 2**5
CONTENTS, ALLOC, LOAD, DATA
2 .bss 000000f8 4ef30000 4ef30000 00000000 2**5
ALLOC
3 .edata 00000fe0 4ef31000 4ef31000 0002e000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .idata 000003e0 4ef32000 4ef32000 0002f000 2**2
CONTENTS, ALLOC, LOAD, DATA
5 .reloc 0000765c 4ef33000 4ef33000 0002f400 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .gnu_deb 0000001c 4ef3b000 4ef3b000 00036c00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
$ objdump -h ltree.dll
ltree.dll: file format pei-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000088a8 4ef31000 4ef31000 00000400 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
1 .data 00000dc0 4ef3a000 4ef3a000 00008e00 2**5
CONTENTS, ALLOC, LOAD, DATA
2 .bss 000000f8 4ef3b000 4ef3b000 00000000 2**5
ALLOC
3 .edata 00000e3c 4ef3c000 4ef3c000 00009c00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .idata 000005b8 4ef3d000 4ef3d000 0000ac00 2**2
CONTENTS, ALLOC, LOAD, DATA
5 .reloc 00000adc 4ef3e000 4ef3e000 0000b200 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .gnu_deb 00000014 4ef3f000 4ef3f000 0000be00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
Both DLLs have a section .gnu_deb, whatever that one is good for.
Rebase crashes both times when trying to relocate this .gnu_deb section.
As you can see, the .gnu_deb section is pretty small, only 28 resp. 20
bytes. What happens is that the relocation information for the .gnu_deb
section appears to be too big. In case of dict_snowball.dll, the reloc
info covers 44 relocation entries. The segfault occurs as soon as one
entry translates into a memory address which is beyond the committed
area of the file memory map.
Now, that's the *effect*. From this I can't say what the *cause*
for this weird relocation info is.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple