libpthread has very strange .eh_frame contents

Bug #624945 reported by Jim Blandy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
New
Undecided
Unassigned

Bug Description

I'm looking at libpthread from http://packages.ubuntu.com/lucid/libc6 2.11.1-0ubuntu7.1 amd64, whose sha1sum is:

29b0368a599cdd725078d2d2a932b416a6c81817 lib/libpthread-2.11.1.so

readelf -wf libpthread-2.11.1.so says, among other things:

00001440 0000004c 00001374 FDE cie=000000d0 pc=000095ca..000095e5
  DW_CFA_val_expression: r16 (rip) (DW_OP_breg16: 15)
  DW_CFA_advance_loc: 3 to 000095cd
  DW_CFA_val_expression: r16 (rip) (DW_OP_breg16: 12)
  DW_CFA_advance_loc: 7 to 000095d4
  DW_CFA_def_cfa_offset: 0
  DW_CFA_val_expression: r16 (rip) (DW_OP_breg16: 5)
  DW_CFA_advance_loc: 4 to 000095d8
  DW_CFA_def_cfa_offset: 128
  DW_CFA_val_expression: r16 (rip) (DW_OP_breg16: 6; DW_OP_const4s: -43821; DW_OP_minus; DW_OP_const4s: -44305; DW_OP_plus)
  DW_CFA_advance_loc: 8 to 000095e0
  DW_CFA_def_cfa_offset_sf: -128
  DW_CFA_val_expression: r16 (rip) (DW_OP_breg16: -7)

That first instruction says that the caller's $rip is the callee's $rip + 15. This can't be right. The instruction with the two DW_OP_const4s looks like garbage, too.

Revision history for this message
Jim Blandy (jimb) wrote :

Unless I've made a mistake, lucid-updates has the same libpthread.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.