* Dw2 CIE no longer contains personality routine augmentation?
@ 2009-10-01 0:33 Dave Korn
2009-10-01 8:38 ` Richard Guenther
0 siblings, 1 reply; 3+ messages in thread
From: Dave Korn @ 2009-10-01 0:33 UTC (permalink / raw)
To: gcc
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Dw2 CIE no longer contains personality routine augmentation?
2009-10-01 0:33 Dw2 CIE no longer contains personality routine augmentation? Dave Korn
@ 2009-10-01 8:38 ` Richard Guenther
2009-10-01 12:40 ` Dave Korn
0 siblings, 1 reply; 3+ messages in thread
From: Richard Guenther @ 2009-10-01 8:38 UTC (permalink / raw)
To: Dave Korn; +Cc: gcc
On Thu, Oct 1, 2009 at 2:47 AM, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
>
> 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?
Yes. If it doesn't need one it doesn't get one.
Richard.
> cheers,
> DaveK
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Dw2 CIE no longer contains personality routine augmentation?
2009-10-01 8:38 ` Richard Guenther
@ 2009-10-01 12:40 ` Dave Korn
0 siblings, 0 replies; 3+ messages in thread
From: Dave Korn @ 2009-10-01 12:40 UTC (permalink / raw)
To: Richard Guenther; +Cc: Dave Korn, gcc
Richard Guenther wrote:
> On Thu, Oct 1, 2009 at 2:47 AM, Dave Korn wrote:
>> 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
>> 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:
>> Is this intentional?
>
> Yes. If it doesn't need one it doesn't get one.
Augh! That was actually sooooo useful to me in making sure that my shared
libstdc++ dll got linked into the executable even when all other references
from the exe to the library got shunted aside by --wrap.
Would it be reasonable to disable the optimisation on a target-specific
basis? Either that or I'm going to have invent a modified version of --wrap,
or just shove some other dummy reference to the library into object files
unconditionally. (Actually that might turn out to be as simple as adding a -u
option to the linker command line, so maybe it would even be better. Haven't
tested that yet though.)
cheers,
DaveK
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-10-01 12:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-01 0:33 Dw2 CIE no longer contains personality routine augmentation? Dave Korn
2009-10-01 8:38 ` Richard Guenther
2009-10-01 12:40 ` Dave Korn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).