[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/6494] ICE in bfd/elf.c line 4622 in assign_file_positions_
From: |
hjl dot tools at gmail dot com |
Subject: |
[Bug binutils/6494] ICE in bfd/elf.c line 4622 in assign_file_positions_for_non_load_sections |
Date: |
17 Sep 2008 17:19:58 -0000 |
------- Additional Comments From hjl dot tools at gmail dot com 2008-09-17
17:19 -------
(In reply to comment #3)
> Testcase in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493651
>
> GNU_RELRO 0x016bc8 0x0000000000216bc8 0x0000000000216bc8 0x0003d0
> 0x0003c0 R 0x1
>
> I don't know how we managed to get p_filesz (0x3d) != p_memsz (0x3c0).
> HJ, why did you add the p_filesz == p_memsz test in the following:
>
> if (map->p_type == PT_GNU_RELRO
> && segment->p_filesz == segment->p_memsz)
> {
> /* The PT_GNU_RELRO segment may contain the first a few
> bytes in the .got.plt section even if the whole .got.plt
> section isn't in the PT_GNU_RELRO segment. We won't
> change the size of the PT_GNU_RELRO segment. */
> map->p_size = segment->p_filesz;
> map->p_size_valid = 1;
> }
>
> That results in p_size_valid == 0 for this testcase which then triggers the
> abort.
Something is wrong with GNU_RELRO segment in libpthread-2.7.so:
1. Why is p_filesz != p_memsz?
2. What does p_filesz > p_memsz mean?
I got
GNU_RELRO 0x016bc8 0x0000000000216bc8 0x0000000000216bc8 0x0003d0
0x0003c0 R 0x1
...
08 .ctors .dtors .jcr .data.rel.ro
For libpthread-2.7.so in Fedora 8, I got
GNU_RELRO 0x015ba8 0x0000003035015ba8 0x0000003035015ba8 0x000458
0x000458 R 0x1
...
08 .ctors .dtors .jcr .data.rel.ro .dynamic .got
Please provide ALL inputs used to create the bad libpthread-2.7.so.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6494
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.