Dw2 CIE no longer contains personality routine augmentation?

Dave Korn dave.korn.cygwin@googlemail.com
Thu Oct 1 00:33:00 GMT 2009


    Hi everyone,

  I'm using g++.old-deja/g++.brendan/new3.C as a testcase to investigate a
problem with dllimport at the moment, and noticed something a bit unusual:

  Here is the CIE data from new3.C as compiled with gcc-4.3.4

> 	.section	.eh_frame,"w"
> Lframe1:
> 	.long	LECIE1-LSCIE1
> LSCIE1:
> 	.long	0x0
> 	.byte	0x1
> 	.def	___gxx_personality_v0;	.scl	2;	.type	32;	.endef
> 	.ascii "zP\0"
> 	.uleb128 0x1
> 	.sleb128 -4
> 	.byte	0x8
> 	.uleb128 0x5
> 	.byte	0x0
> 	.long	___gxx_personality_v0
> 	.byte	0xc
> 	.uleb128 0x4
> 	.uleb128 0x4
> 	.byte	0x88
> 	.uleb128 0x1
> 	.align 4
> LECIE1:

  And now with gcc trunk@152230, I see that the generated CIE no longer has
any augmentation, particularly it doesn't point to the personality routine any
more:

> LFE21:
> 	.section	.eh_frame,"w"
> Lframe1:
> 	.long	LECIE1-LSCIE1
> LSCIE1:
> 	.long	0x0
> 	.byte	0x1
> 	.ascii "\0"
> 	.uleb128 0x1
> 	.sleb128 -4
> 	.byte	0x8
> 	.byte	0xc
> 	.uleb128 0x4
> 	.uleb128 0x4
> 	.byte	0x88
> 	.uleb128 0x1
> 	.align 4
> LECIE1:

  Is this intentional?

    cheers,
      DaveK



More information about the Gcc mailing list