bug-binutils
[Top][All Lists]
Advanced

[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.




reply via email to

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