[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/10579] New: LSDA section is linked off-by 0x11 from FDE
From: |
ubizjak at gmail dot com |
Subject: |
[Bug ld/10579] New: LSDA section is linked off-by 0x11 from FDE |
Date: |
31 Aug 2009 19:00:02 -0000 |
[This bug was reported in gcc bugzilla [1]]
ext/pb_ds/regression/hash_data_map_rand.cc from gcc testsuite fails on
alphaev68-linux-gnu due to wrong link from FDE to LSDA. The assembler dump is
available at [2].
To summarize the bug: When attached source is linked, the FDE for
_ZN10__gnu_pbds6detail15gp_ht_map_data_INS_4test10basic_typeES3_NS2_4hashESt8equal_toIS3_EN9__gnu_cxx15throw_allocatorIS3_EELb0ENS2_27direct_mod_range_hashing_t_IS9_EENS2_21quadratic_probe_fn_t_IS3_S9_EENS_27hash_standard_resize_policyINS2_25hash_prime_size_policy_t_ENS2_33hash_load_check_resize_trigger_t_IS9_Lm1ELm8ELm1ELm2ELb1EEELb1EmEEEC2ERKSJ_
will miss its LSDA by 0x11 bytes:
failed: 0x1201bb405
objdump --section=.gcc_except_table -s hash_data_map_rand.test
1201bb3f4 ff9b2d01 23a80148 c40400f0 0208b404 ..-.#..H........
>1201bb404 01880308 e00301d8 0304c404 009c0414 ................
1201bb414 e80400e0 04040000 01000000 00000000 ................
1201bb424 ff9b2101 17ac0208 d80401d8 0308fc03 ..!.............
1201bb434 05940404 a80400d0 04380000 7f000000 .........8......
1201bb444 7f7d0000 00000000 ff9b4901 41d4015c .}........I.A..\
correct: 0x1201bb3f4
1201bb3e4 00ffff01 08240848 005c0400 00000000 .....$.H.\......
>1201bb3f4 ff9b2d01 23a80148 c40400f0 0208b404 ..-.#..H........
1201bb404 01880308 e00301d8 0304c404 009c0414 ................
1201bb414 e80400e0 04040000 01000000 00000000 ................
1201bb424 ff9b2101 17ac0208 d80401d8 0308fc03 ..!.............
1201bb434 05940404 a80400d0 04380000 7f000000 .........8......
Please look for $LSFDE285 in the dump:
$LSFDE285:
.4byte $LEFDE285-$LASFDE285
$LASFDE285:
.4byte $LASFDE285-$Lframe1
.4byte $LFB5858-.
.4byte $LFE5858-$LFB5858
.uleb128 0x4
>>> .4byte $LLSDA5858-.
.byte 0x4
.4byte $LCFI1142-$LFB5858
.byte 0xe
The line that will fail to link to correct LSDA is marked with >>>.
.end
_ZN10__gnu_pbds6detail15gp_ht_map_data_INS_4test10basic_typeES3_NS2_4hashESt8equal_toIS3_EN9__gnu_cxx15throw_allocatorIS3_EELb0ENS2_27direct_mod_range_hashing_t_IS9_EENS2_21quadratic_probe_fn_t_IS3_S9_EENS_27hash_standard_resize_policyINS2_25hash_prime_size_policy_t_ENS2_33hash_load_check_resize_trigger_t_IS9_Lm1ELm8ELm1ELm2ELb1EEELb1EmEEEC2ERKSJ_
.section .gcc_except_table
.align 2
$LLSDA5858:
.byte 0xff
.byte 0x9b
.uleb128 $LLSDATT5858-$LLSDATTD5858
$LLSDATTD5858:
.byte 0x1
.uleb128 $LLSDACSE5858-$LLSDACSB5858
$LLSDACSB5858:
.uleb128 $LEHB373-$LFB5858
.uleb128 $LEHE373-$LEHB373
.uleb128 $L2169-$LFB5858
.uleb128 0x0
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41058
[2] http://gcc.gnu.org/bugzilla/attachment.cgi?id=18456
--
Summary: LSDA section is linked off-by 0x11 from FDE
Product: binutils
Version: 2.19
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: ubizjak at gmail dot com
CC: bug-binutils at gnu dot org
GCC build triplet: alphaev68-linux-gnu
GCC host triplet: alphaev68-linux-gnu
GCC target triplet: alphaev68-linux-gnu
http://sourceware.org/bugzilla/show_bug.cgi?id=10579
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug ld/10579] New: LSDA section is linked off-by 0x11 from FDE,
ubizjak at gmail dot com <=