> Honza,
> 
> How can we make further progress with the large regression on AIX?
David,
sorry for taking time to get back to it.  I went through the code and see no 
obvious flaws
except that I am somewhat concerned what happens with local aliases into the 
anchors.
The problem however does not seem to be caused by it.  I tracked it down to the 
following
difference:

--- d2.s        2014-06-06 08:59:01.101401622 +0200
+++ d3.s        2014-06-06 08:59:01.491377632 +0200
@@ -499,7 +499,7 @@
        .long   4
        .long   4
        .long   _ZTI1B
-       .long   _ZTv0_n12_N1B1fEv
+       .long   _ZTv0_n12_N1B1fEv.localalias.5
        .weak   _ZTV1A
        .align 2
 _ZTV1A:

Now _ZTv0_n12_N1B1fEv is thunk declared as:

        .lglobl .LTHUNK..0
        .lglobl LTHUNK..0
        .set    .LTHUNK..0,._ZN1B1fEv
        .set LTHUNK..0,_ZN1B1fEv
        .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
        .lglobl _ZTv0_n12_N1B1fEv.localalias.5
        .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
        .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
        .align 2
        .weak   _ZTv0_n12_N1B1fEv[DS]
        .weak   ._ZTv0_n12_N1B1fEv
        .csect _ZTv0_n12_N1B1fEv[DS]
_ZTv0_n12_N1B1fEv:
        .long ._ZTv0_n12_N1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZTv0_n12_N1B1fEv:
LFB..16:
        lwz 12,0(3)
        lwz 12,-12(12)
        add 3,3,12
        b .LTHUNK..0

Now when I move the declaration of localalias after the thunk:

--- d3.s        2014-06-06 08:59:01.491377632 +0200
+++ d4.s        2014-06-06 09:03:58.129810951 +0200
@@ -212,10 +212,6 @@
        .lglobl LTHUNK..0
        .set    .LTHUNK..0,._ZN1B1fEv
        .set LTHUNK..0,_ZN1B1fEv
-       .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
-       .lglobl _ZTv0_n12_N1B1fEv.localalias.5
-       .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
-       .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
        .align 2
        .weak   _ZTv0_n12_N1B1fEv[DS]
        .weak   ._ZTv0_n12_N1B1fEv
@@ -229,6 +225,10 @@
        lwz 12,-12(12)
        add 3,3,12
        b .LTHUNK..0
+       .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
+       .lglobl _ZTv0_n12_N1B1fEv.localalias.5
+       .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
+       .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
 LFE..16:
        .align 2
        .weak   _ZN1D1fEv[DS]

The code starts to work.  To me both sources should make same binary, but they 
don't.
Can you make better sense of this than claiming it is an assembler bug?

We output aliases after definitions for functions, but before definitions for 
thunks.
I am testing patch to change the second order.  I remeber tweaking this order 
once before
because of problems on solaris.  Lets see if we find order that works for 
everyone.

Honza
        .file   "/home/jh/trunk/gcc/testsuite/g++.dg/abi/vcall1.C"
        .csect .text[PR]
        .toc
        .csect .text[PR]
        .globl b
        .csect .data[RW],4
        .align 2
b:
        .space 4
        .csect .text[PR]
        .align 2
        .weak   _ZN1A1fEv[DS]
        .weak   ._ZN1A1fEv
        .csect _ZN1A1fEv[DS]
_ZN1A1fEv:
        .long ._ZN1A1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1A1fEv:
LFB..0:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..0:
        mr 31,1
LCFI..1:
        stw 3,56(31)
        addi 1,31,32
LCFI..2:
        lwz 31,-4(1)
        blr
LT.._ZN1A1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1A1fEv-._ZN1A1fEv
        .short 9
        .byte "_ZN1A1fEv"
        .byte 31
        .align 2
LFE..0:
        .lglobl ._ZN1A1fEv.localalias.4
        .lglobl _ZN1A1fEv.localalias.4
        .set    ._ZN1A1fEv.localalias.4,._ZN1A1fEv
        .set _ZN1A1fEv.localalias.4,_ZN1A1fEv
        .toc
LC..0:
        .tc _ZTV1A.P8[TC],_ZTV1A+8
        .csect .text[PR]
        .align 2
        .weak   _ZN1AC2Ev[DS]
        .weak   ._ZN1AC2Ev
        .csect _ZN1AC2Ev[DS]
_ZN1AC2Ev:
        .long ._ZN1AC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1AC2Ev:
LFB..3:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..3:
        mr 31,1
LCFI..4:
        stw 3,56(31)
        lwz 9,56(31)
        lwz 10,LC..0(2)
        stw 10,0(9)
        addi 1,31,32
LCFI..5:
        lwz 31,-4(1)
        blr
LT.._ZN1AC2Ev:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1AC2Ev-._ZN1AC2Ev
        .short 9
        .byte "_ZN1AC2Ev"
        .byte 31
        .align 2
LFE..3:
        .lglobl ._ZN1AC2Ev.localalias.3
        .lglobl _ZN1AC2Ev.localalias.3
        .set    ._ZN1AC2Ev.localalias.3,._ZN1AC2Ev
        .set _ZN1AC2Ev.localalias.3,_ZN1AC2Ev
        .toc
LC..1:
        .tc b[TC],b
        .csect .text[PR]
        .align 2
        .weak   _ZN1BC2Ev[DS]
        .weak   ._ZN1BC2Ev
        .csect _ZN1BC2Ev[DS]
_ZN1BC2Ev:
        .long ._ZN1BC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1BC2Ev:
LFB..5:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..6:
        mr 31,1
LCFI..7:
        stw 3,88(31)
        stw 4,92(31)
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,4(10)
        stw 10,0(9)
        lwz 9,LC..1(2)
        lwz 10,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 9,0(9)
        lwz 9,0(9)
        lwz 10,88(31)
        lwz 10,0(10)
        addi 10,10,-16
        lwz 10,0(10)
        mr 8,10
        lwz 10,88(31)
        add 10,10,8
        mr 3,10
        stw 2,20(1)
        lwz 10,0(9)
        lwz 11,8(9)
        mtctr 10
        lwz 2,4(9)
        bctrl
        lwz 2,20(1)
        addi 1,31,64
LCFI..8:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1BC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1BC2Ev-._ZN1BC2Ev
        .short 9
        .byte "_ZN1BC2Ev"
        .byte 31
        .align 2
LFE..5:
        .lglobl ._ZN1BC2Ev.localalias.2
        .lglobl _ZN1BC2Ev.localalias.2
        .set    ._ZN1BC2Ev.localalias.2,._ZN1BC2Ev
        .set _ZN1BC2Ev.localalias.2,_ZN1BC2Ev
        .toc
        .set LC..2,LC..1
        .csect .text[PR]
        .align 2
        .weak   _ZN1B1fEv[DS]
        .weak   ._ZN1B1fEv
        .csect _ZN1B1fEv[DS]
_ZN1B1fEv:
        .long ._ZN1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1B1fEv:
LFB..7:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..9:
        mr 31,1
LCFI..10:
        stw 3,88(31)
        lwz 9,LC..2(2)
        lwz 9,0(9)
        lwz 10,88(31)
        cmpw 7,10,9
        beq 7,L..4
        bl .abort
        nop
L..4:
        addi 1,31,64
LCFI..11:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1B1fEv:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1B1fEv-._ZN1B1fEv
        .short 9
        .byte "_ZN1B1fEv"
        .byte 31
        .align 2
LFE..7:
        .lglobl .LTHUNK..0
        .lglobl LTHUNK..0
        .set    .LTHUNK..0,._ZN1B1fEv
        .set LTHUNK..0,_ZN1B1fEv
        .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
        .lglobl _ZTv0_n12_N1B1fEv.localalias.5
        .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
        .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
        .align 2
        .weak   _ZTv0_n12_N1B1fEv[DS]
        .weak   ._ZTv0_n12_N1B1fEv
        .csect _ZTv0_n12_N1B1fEv[DS]
_ZTv0_n12_N1B1fEv:
        .long ._ZTv0_n12_N1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZTv0_n12_N1B1fEv:
LFB..16:
        lwz 12,0(3)
        lwz 12,-12(12)
        add 3,3,12
        b .LTHUNK..0
LFE..16:
        .align 2
        .weak   _ZN1D1fEv[DS]
        .weak   ._ZN1D1fEv
        .csect _ZN1D1fEv[DS]
_ZN1D1fEv:
        .long ._ZN1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1D1fEv:
LFB..8:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..12:
        mr 31,1
LCFI..13:
        stw 3,56(31)
        addi 1,31,32
LCFI..14:
        lwz 31,-4(1)
        blr
LT.._ZN1D1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1D1fEv-._ZN1D1fEv
        .short 9
        .byte "_ZN1D1fEv"
        .byte 31
        .align 2
LFE..8:
        .lglobl .LTHUNK..2
        .lglobl LTHUNK..2
        .set    .LTHUNK..2,._ZN1D1fEv
        .set LTHUNK..2,_ZN1D1fEv
        .lglobl ._ZThn4_N1D1fEv.localalias.10
        .lglobl _ZThn4_N1D1fEv.localalias.10
        .set    ._ZThn4_N1D1fEv.localalias.10,._ZThn4_N1D1fEv
        .set _ZThn4_N1D1fEv.localalias.10,_ZThn4_N1D1fEv
        .align 2
        .weak   _ZThn4_N1D1fEv[DS]
        .weak   ._ZThn4_N1D1fEv
        .csect _ZThn4_N1D1fEv[DS]
_ZThn4_N1D1fEv:
        .long ._ZThn4_N1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZThn4_N1D1fEv:
LFB..17:
        addi 3,3,-4
        b .LTHUNK..2
LFE..17:
        .align 2
        .weak   _ZN1CC2Ev[DS]
        .weak   ._ZN1CC2Ev
        .csect _ZN1CC2Ev[DS]
_ZN1CC2Ev:
        .long ._ZN1CC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1CC2Ev:
LFB..12:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..15:
        mr 31,1
LCFI..16:
        stw 3,88(31)
        stw 4,92(31)
        lwz 10,88(31)
        lwz 9,92(31)
        addi 9,9,4
        mr 4,9
        mr 3,10
        bl ._ZN1BC2Ev.localalias.2
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,12(10)
        stw 10,0(9)
        addi 1,31,64
LCFI..17:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1CC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1CC2Ev-._ZN1CC2Ev
        .short 9
        .byte "_ZN1CC2Ev"
        .byte 31
        .align 2
LFE..12:
        .lglobl ._ZN1CC2Ev.localalias.1
        .lglobl _ZN1CC2Ev.localalias.1
        .set    ._ZN1CC2Ev.localalias.1,._ZN1CC2Ev
        .set _ZN1CC2Ev.localalias.1,_ZN1CC2Ev
        .toc
LC..3:
        .tc _ZTT1D.P4[TC],_ZTT1D+4
LC..4:
        .tc _ZTT1D.P20[TC],_ZTT1D+20
LC..5:
        .tc _ZTV1D.P16[TC],_ZTV1D+16
LC..6:
        .tc _ZTV1D.P36[TC],_ZTV1D+36
        .csect .text[PR]
        .align 2
        .weak   _ZN1DC1Ev[DS]
        .weak   ._ZN1DC1Ev
        .csect _ZN1DC1Ev[DS]
_ZN1DC1Ev:
        .long ._ZN1DC1Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1DC1Ev:
LFB..15:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..18:
        mr 31,1
LCFI..19:
        stw 3,88(31)
        lwz 9,88(31)
        mr 3,9
        bl ._ZN1AC2Ev.localalias.3
        lwz 9,88(31)
        lwz 10,LC..3(2)
        mr 4,10
        mr 3,9
        bl ._ZN1CC2Ev.localalias.1
        lwz 9,88(31)
        addi 9,9,4
        lwz 10,LC..4(2)
        mr 4,10
        mr 3,9
        bl ._ZN1BC2Ev.localalias.2
        lwz 10,LC..5(2)
        lwz 9,88(31)
        stw 10,0(9)
        li 9,0
        lwz 10,88(31)
        add 9,10,9
        lwz 10,LC..5(2)
        stw 10,0(9)
        lwz 10,LC..6(2)
        lwz 9,88(31)
        stw 10,4(9)
        addi 1,31,64
LCFI..20:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1DC1Ev:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1DC1Ev-._ZN1DC1Ev
        .short 9
        .byte "_ZN1DC1Ev"
        .byte 31
        .align 2
LFE..15:
        .lglobl ._ZN1DC1Ev.localalias.0
        .lglobl _ZN1DC1Ev.localalias.0
        .set    ._ZN1DC1Ev.localalias.0,._ZN1DC1Ev
        .set _ZN1DC1Ev.localalias.0,_ZN1DC1Ev
        .align 2
        .globl main
        .globl .main
        .csect main[DS]
main:
        .long .main, TOC[tc0], 0
        .csect .text[PR]
.main:
LFB..9:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-96(1)
LCFI..21:
        mr 31,1
LCFI..22:
        addi 9,31,56
        mr 3,9
        bl ._ZN1DC1Ev.localalias.0
        li 9,0
        mr 3,9
        addi 1,31,96
LCFI..23:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT..main:
        .long 0
        .byte 0,9,32,97,128,1,0,1
        .long LT..main-.main
        .short 4
        .byte "main"
        .byte 31
        .align 2
LFE..9:
        .weak   _ZTV1D
        .csect .data[RW],4
        .align 2
_ZTV1D:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1D
        .long   LTHUNK..0
        .long   -4
        .long   -4
        .long   -4
        .long   _ZTI1D
        .long   _ZThn4_N1D1fEv.localalias.10
        .set _ZTV1D.localalias.6,_ZTV1D
        .weak   _ZTT1D
        .align 2
_ZTT1D:
        .long   _ZTV1D.localalias.6+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D4_1B+16
        .long   _ZTC1D4_1B+32
        .long   _ZTV1D.localalias.6+16
        .long   _ZTV1D.localalias.6+36
        .weak   _ZTC1D0_1C
        .align 2
_ZTC1D0_1C:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1C
        .long   LTHUNK..0
        .weak   _ZTC1D0_1B
        .align 2
_ZTC1D0_1B:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .weak   _ZTC1D4_1B
        .align 2
_ZTC1D4_1B:
        .long   -4
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .long   4
        .long   4
        .long   _ZTI1B
        .long   _ZTv0_n12_N1B1fEv
        .weak   _ZTV1A
        .align 2
_ZTV1A:
        .long   0
        .long   _ZTI1A
        .long   _ZN1A1fEv.localalias.4
        .weak   _ZTI1D
        .align 2
_ZTI1D:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1D
        .long   3
        .long   2
        .long   _ZTI1C
        .long   2
        .long   _ZTI1B
        .long   1026
        .weak   _ZTS1D
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1D:
        .byte "1D"
        .byte 0
        .weak   _ZTI1C
        .csect .data[RW],4
        .align 2
_ZTI1C:
        .long   _ZTVN10__cxxabiv120__si_class_type_infoE+8
        .long   _ZTS1C
        .long   _ZTI1B
        .weak   _ZTS1C
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1C:
        .byte "1C"
        .byte 0
        .weak   _ZTI1B
        .csect .data[RW],4
        .align 2
_ZTI1B:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1B
        .long   0
        .long   1
        .long   _ZTI1A
        .long   -4093
        .weak   _ZTS1B
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1B:
        .byte "1B"
        .byte 0
        .weak   _ZTI1A
        .csect .data[RW],4
        .align 2
_ZTI1A:
        .long   _ZTVN10__cxxabiv117__class_type_infoE+8
        .long   _ZTS1A
        .weak   _ZTS1A
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1A:
        .byte "1A"
        .byte 0
        .csect .data[RW],4
        .align 2
        .globl _GLOBAL__F_b
_GLOBAL__F_b:
Lframe..1:
        .vbyte  4,LECIE..1-LSCIE..1
LSCIE..1:
        .vbyte  4,0
        .byte   0x3
        .byte 0
        .byte   0x1
        .byte   0x7c
        .byte   0x41
        .byte   0xc
        .byte   0x1
        .byte   0
        .align 2
LECIE..1:
LSFDE..1:
        .vbyte  4,LEFDE..1-LASFDE..1
LASFDE..1:
        .vbyte  4,LASFDE..1-Lframe..1
        .vbyte  4,LFB..5
        .vbyte  4,LFE..5-LFB..5
        .byte   0x4
        .vbyte  4,LCFI..6-LFB..5
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..7-LCFI..6
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..8-LCFI..7
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..1:
LSFDE..3:
        .vbyte  4,LEFDE..3-LASFDE..3
LASFDE..3:
        .vbyte  4,LASFDE..3-Lframe..1
        .vbyte  4,LFB..7
        .vbyte  4,LFE..7-LFB..7
        .byte   0x4
        .vbyte  4,LCFI..9-LFB..7
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..10-LCFI..9
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..11-LCFI..10
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..3:
LSFDE..5:
        .vbyte  4,LEFDE..5-LASFDE..5
LASFDE..5:
        .vbyte  4,LASFDE..5-Lframe..1
        .vbyte  4,LFB..16
        .vbyte  4,LFE..16-LFB..16
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..5:
LSFDE..7:
        .vbyte  4,LEFDE..7-LASFDE..7
LASFDE..7:
        .vbyte  4,LASFDE..7-Lframe..1
        .vbyte  4,LFB..17
        .vbyte  4,LFE..17-LFB..17
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..7:
LSFDE..9:
        .vbyte  4,LEFDE..9-LASFDE..9
LASFDE..9:
        .vbyte  4,LASFDE..9-Lframe..1
        .vbyte  4,LFB..12
        .vbyte  4,LFE..12-LFB..12
        .byte   0x4
        .vbyte  4,LCFI..15-LFB..12
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..16-LCFI..15
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..17-LCFI..16
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..9:
LSFDE..11:
        .vbyte  4,LEFDE..11-LASFDE..11
LASFDE..11:
        .vbyte  4,LASFDE..11-Lframe..1
        .vbyte  4,LFB..15
        .vbyte  4,LFE..15-LFB..15
        .byte   0x4
        .vbyte  4,LCFI..18-LFB..15
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..19-LCFI..18
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..20-LCFI..19
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..11:
LSFDE..13:
        .vbyte  4,LEFDE..13-LASFDE..13
LASFDE..13:
        .vbyte  4,LASFDE..13-Lframe..1
        .vbyte  4,LFB..9
        .vbyte  4,LFE..9-LFB..9
        .byte   0x4
        .vbyte  4,LCFI..21-LFB..9
        .byte   0xe
        .byte   0x60
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..22-LCFI..21
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..23-LCFI..22
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..13:
        .vbyte  4,0
        .csect .text[PR]
_section_.text:
        .csect .data[RW],4
        .long _section_.text
        .file   "/home/jh/trunk/gcc/testsuite/g++.dg/abi/vcall1.C"
        .csect .text[PR]
        .toc
        .csect .text[PR]
        .globl b
        .csect .data[RW],4
        .align 2
b:
        .space 4
        .csect .text[PR]
        .align 2
        .weak   _ZN1A1fEv[DS]
        .weak   ._ZN1A1fEv
        .csect _ZN1A1fEv[DS]
_ZN1A1fEv:
        .long ._ZN1A1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1A1fEv:
LFB..0:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..0:
        mr 31,1
LCFI..1:
        stw 3,56(31)
        addi 1,31,32
LCFI..2:
        lwz 31,-4(1)
        blr
LT.._ZN1A1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1A1fEv-._ZN1A1fEv
        .short 9
        .byte "_ZN1A1fEv"
        .byte 31
        .align 2
LFE..0:
        .lglobl ._ZN1A1fEv.localalias.4
        .lglobl _ZN1A1fEv.localalias.4
        .set    ._ZN1A1fEv.localalias.4,._ZN1A1fEv
        .set _ZN1A1fEv.localalias.4,_ZN1A1fEv
        .toc
LC..0:
        .tc _ZTV1A.P8[TC],_ZTV1A+8
        .csect .text[PR]
        .align 2
        .weak   _ZN1AC2Ev[DS]
        .weak   ._ZN1AC2Ev
        .csect _ZN1AC2Ev[DS]
_ZN1AC2Ev:
        .long ._ZN1AC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1AC2Ev:
LFB..3:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..3:
        mr 31,1
LCFI..4:
        stw 3,56(31)
        lwz 9,56(31)
        lwz 10,LC..0(2)
        stw 10,0(9)
        addi 1,31,32
LCFI..5:
        lwz 31,-4(1)
        blr
LT.._ZN1AC2Ev:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1AC2Ev-._ZN1AC2Ev
        .short 9
        .byte "_ZN1AC2Ev"
        .byte 31
        .align 2
LFE..3:
        .lglobl ._ZN1AC2Ev.localalias.3
        .lglobl _ZN1AC2Ev.localalias.3
        .set    ._ZN1AC2Ev.localalias.3,._ZN1AC2Ev
        .set _ZN1AC2Ev.localalias.3,_ZN1AC2Ev
        .toc
LC..1:
        .tc b[TC],b
        .csect .text[PR]
        .align 2
        .weak   _ZN1BC2Ev[DS]
        .weak   ._ZN1BC2Ev
        .csect _ZN1BC2Ev[DS]
_ZN1BC2Ev:
        .long ._ZN1BC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1BC2Ev:
LFB..5:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..6:
        mr 31,1
LCFI..7:
        stw 3,88(31)
        stw 4,92(31)
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,4(10)
        stw 10,0(9)
        lwz 9,LC..1(2)
        lwz 10,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 9,0(9)
        lwz 9,0(9)
        lwz 10,88(31)
        lwz 10,0(10)
        addi 10,10,-16
        lwz 10,0(10)
        mr 8,10
        lwz 10,88(31)
        add 10,10,8
        mr 3,10
        stw 2,20(1)
        lwz 10,0(9)
        lwz 11,8(9)
        mtctr 10
        lwz 2,4(9)
        bctrl
        lwz 2,20(1)
        addi 1,31,64
LCFI..8:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1BC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1BC2Ev-._ZN1BC2Ev
        .short 9
        .byte "_ZN1BC2Ev"
        .byte 31
        .align 2
LFE..5:
        .lglobl ._ZN1BC2Ev.localalias.2
        .lglobl _ZN1BC2Ev.localalias.2
        .set    ._ZN1BC2Ev.localalias.2,._ZN1BC2Ev
        .set _ZN1BC2Ev.localalias.2,_ZN1BC2Ev
        .toc
        .set LC..2,LC..1
        .csect .text[PR]
        .align 2
        .weak   _ZN1B1fEv[DS]
        .weak   ._ZN1B1fEv
        .csect _ZN1B1fEv[DS]
_ZN1B1fEv:
        .long ._ZN1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1B1fEv:
LFB..7:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..9:
        mr 31,1
LCFI..10:
        stw 3,88(31)
        lwz 9,LC..2(2)
        lwz 9,0(9)
        lwz 10,88(31)
        cmpw 7,10,9
        beq 7,L..4
        bl .abort
        nop
L..4:
        addi 1,31,64
LCFI..11:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1B1fEv:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1B1fEv-._ZN1B1fEv
        .short 9
        .byte "_ZN1B1fEv"
        .byte 31
        .align 2
LFE..7:
        .lglobl .LTHUNK..0
        .lglobl LTHUNK..0
        .set    .LTHUNK..0,._ZN1B1fEv
        .set LTHUNK..0,_ZN1B1fEv
        .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
        .lglobl _ZTv0_n12_N1B1fEv.localalias.5
        .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
        .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
        .align 2
        .weak   _ZTv0_n12_N1B1fEv[DS]
        .weak   ._ZTv0_n12_N1B1fEv
        .csect _ZTv0_n12_N1B1fEv[DS]
_ZTv0_n12_N1B1fEv:
        .long ._ZTv0_n12_N1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZTv0_n12_N1B1fEv:
LFB..16:
        lwz 12,0(3)
        lwz 12,-12(12)
        add 3,3,12
        b .LTHUNK..0
LFE..16:
        .align 2
        .weak   _ZN1D1fEv[DS]
        .weak   ._ZN1D1fEv
        .csect _ZN1D1fEv[DS]
_ZN1D1fEv:
        .long ._ZN1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1D1fEv:
LFB..8:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..12:
        mr 31,1
LCFI..13:
        stw 3,56(31)
        addi 1,31,32
LCFI..14:
        lwz 31,-4(1)
        blr
LT.._ZN1D1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1D1fEv-._ZN1D1fEv
        .short 9
        .byte "_ZN1D1fEv"
        .byte 31
        .align 2
LFE..8:
        .lglobl .LTHUNK..2
        .lglobl LTHUNK..2
        .set    .LTHUNK..2,._ZN1D1fEv
        .set LTHUNK..2,_ZN1D1fEv
        .lglobl ._ZThn4_N1D1fEv.localalias.10
        .lglobl _ZThn4_N1D1fEv.localalias.10
        .set    ._ZThn4_N1D1fEv.localalias.10,._ZThn4_N1D1fEv
        .set _ZThn4_N1D1fEv.localalias.10,_ZThn4_N1D1fEv
        .align 2
        .weak   _ZThn4_N1D1fEv[DS]
        .weak   ._ZThn4_N1D1fEv
        .csect _ZThn4_N1D1fEv[DS]
_ZThn4_N1D1fEv:
        .long ._ZThn4_N1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZThn4_N1D1fEv:
LFB..17:
        addi 3,3,-4
        b .LTHUNK..2
LFE..17:
        .align 2
        .weak   _ZN1CC2Ev[DS]
        .weak   ._ZN1CC2Ev
        .csect _ZN1CC2Ev[DS]
_ZN1CC2Ev:
        .long ._ZN1CC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1CC2Ev:
LFB..12:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..15:
        mr 31,1
LCFI..16:
        stw 3,88(31)
        stw 4,92(31)
        lwz 10,88(31)
        lwz 9,92(31)
        addi 9,9,4
        mr 4,9
        mr 3,10
        bl ._ZN1BC2Ev.localalias.2
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,12(10)
        stw 10,0(9)
        addi 1,31,64
LCFI..17:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1CC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1CC2Ev-._ZN1CC2Ev
        .short 9
        .byte "_ZN1CC2Ev"
        .byte 31
        .align 2
LFE..12:
        .lglobl ._ZN1CC2Ev.localalias.1
        .lglobl _ZN1CC2Ev.localalias.1
        .set    ._ZN1CC2Ev.localalias.1,._ZN1CC2Ev
        .set _ZN1CC2Ev.localalias.1,_ZN1CC2Ev
        .toc
LC..3:
        .tc _ZTT1D.P4[TC],_ZTT1D+4
LC..4:
        .tc _ZTT1D.P20[TC],_ZTT1D+20
LC..5:
        .tc _ZTV1D.P16[TC],_ZTV1D+16
LC..6:
        .tc _ZTV1D.P36[TC],_ZTV1D+36
        .csect .text[PR]
        .align 2
        .weak   _ZN1DC1Ev[DS]
        .weak   ._ZN1DC1Ev
        .csect _ZN1DC1Ev[DS]
_ZN1DC1Ev:
        .long ._ZN1DC1Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1DC1Ev:
LFB..15:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..18:
        mr 31,1
LCFI..19:
        stw 3,88(31)
        lwz 9,88(31)
        mr 3,9
        bl ._ZN1AC2Ev.localalias.3
        lwz 9,88(31)
        lwz 10,LC..3(2)
        mr 4,10
        mr 3,9
        bl ._ZN1CC2Ev.localalias.1
        lwz 9,88(31)
        addi 9,9,4
        lwz 10,LC..4(2)
        mr 4,10
        mr 3,9
        bl ._ZN1BC2Ev.localalias.2
        lwz 10,LC..5(2)
        lwz 9,88(31)
        stw 10,0(9)
        li 9,0
        lwz 10,88(31)
        add 9,10,9
        lwz 10,LC..5(2)
        stw 10,0(9)
        lwz 10,LC..6(2)
        lwz 9,88(31)
        stw 10,4(9)
        addi 1,31,64
LCFI..20:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1DC1Ev:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1DC1Ev-._ZN1DC1Ev
        .short 9
        .byte "_ZN1DC1Ev"
        .byte 31
        .align 2
LFE..15:
        .lglobl ._ZN1DC1Ev.localalias.0
        .lglobl _ZN1DC1Ev.localalias.0
        .set    ._ZN1DC1Ev.localalias.0,._ZN1DC1Ev
        .set _ZN1DC1Ev.localalias.0,_ZN1DC1Ev
        .align 2
        .globl main
        .globl .main
        .csect main[DS]
main:
        .long .main, TOC[tc0], 0
        .csect .text[PR]
.main:
LFB..9:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-96(1)
LCFI..21:
        mr 31,1
LCFI..22:
        addi 9,31,56
        mr 3,9
        bl ._ZN1DC1Ev.localalias.0
        li 9,0
        mr 3,9
        addi 1,31,96
LCFI..23:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT..main:
        .long 0
        .byte 0,9,32,97,128,1,0,1
        .long LT..main-.main
        .short 4
        .byte "main"
        .byte 31
        .align 2
LFE..9:
        .weak   _ZTV1D
        .csect .data[RW],4
        .align 2
_ZTV1D:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1D
        .long   LTHUNK..0
        .long   -4
        .long   -4
        .long   -4
        .long   _ZTI1D
        .long   _ZThn4_N1D1fEv.localalias.10
        .set _ZTV1D.localalias.6,_ZTV1D
        .weak   _ZTT1D
        .align 2
_ZTT1D:
        .long   _ZTV1D.localalias.6+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D4_1B+16
        .long   _ZTC1D4_1B+32
        .long   _ZTV1D.localalias.6+16
        .long   _ZTV1D.localalias.6+36
        .weak   _ZTC1D0_1C
        .align 2
_ZTC1D0_1C:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1C
        .long   LTHUNK..0
        .weak   _ZTC1D0_1B
        .align 2
_ZTC1D0_1B:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .weak   _ZTC1D4_1B
        .align 2
_ZTC1D4_1B:
        .long   -4
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .long   4
        .long   4
        .long   _ZTI1B
        .long   _ZTv0_n12_N1B1fEv.localalias.5
        .weak   _ZTV1A
        .align 2
_ZTV1A:
        .long   0
        .long   _ZTI1A
        .long   _ZN1A1fEv.localalias.4
        .weak   _ZTI1D
        .align 2
_ZTI1D:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1D
        .long   3
        .long   2
        .long   _ZTI1C
        .long   2
        .long   _ZTI1B
        .long   1026
        .weak   _ZTS1D
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1D:
        .byte "1D"
        .byte 0
        .weak   _ZTI1C
        .csect .data[RW],4
        .align 2
_ZTI1C:
        .long   _ZTVN10__cxxabiv120__si_class_type_infoE+8
        .long   _ZTS1C
        .long   _ZTI1B
        .weak   _ZTS1C
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1C:
        .byte "1C"
        .byte 0
        .weak   _ZTI1B
        .csect .data[RW],4
        .align 2
_ZTI1B:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1B
        .long   0
        .long   1
        .long   _ZTI1A
        .long   -4093
        .weak   _ZTS1B
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1B:
        .byte "1B"
        .byte 0
        .weak   _ZTI1A
        .csect .data[RW],4
        .align 2
_ZTI1A:
        .long   _ZTVN10__cxxabiv117__class_type_infoE+8
        .long   _ZTS1A
        .weak   _ZTS1A
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1A:
        .byte "1A"
        .byte 0
        .csect .data[RW],4
        .align 2
        .globl _GLOBAL__F_b
_GLOBAL__F_b:
Lframe..1:
        .vbyte  4,LECIE..1-LSCIE..1
LSCIE..1:
        .vbyte  4,0
        .byte   0x3
        .byte 0
        .byte   0x1
        .byte   0x7c
        .byte   0x41
        .byte   0xc
        .byte   0x1
        .byte   0
        .align 2
LECIE..1:
LSFDE..1:
        .vbyte  4,LEFDE..1-LASFDE..1
LASFDE..1:
        .vbyte  4,LASFDE..1-Lframe..1
        .vbyte  4,LFB..5
        .vbyte  4,LFE..5-LFB..5
        .byte   0x4
        .vbyte  4,LCFI..6-LFB..5
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..7-LCFI..6
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..8-LCFI..7
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..1:
LSFDE..3:
        .vbyte  4,LEFDE..3-LASFDE..3
LASFDE..3:
        .vbyte  4,LASFDE..3-Lframe..1
        .vbyte  4,LFB..7
        .vbyte  4,LFE..7-LFB..7
        .byte   0x4
        .vbyte  4,LCFI..9-LFB..7
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..10-LCFI..9
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..11-LCFI..10
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..3:
LSFDE..5:
        .vbyte  4,LEFDE..5-LASFDE..5
LASFDE..5:
        .vbyte  4,LASFDE..5-Lframe..1
        .vbyte  4,LFB..16
        .vbyte  4,LFE..16-LFB..16
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..5:
LSFDE..7:
        .vbyte  4,LEFDE..7-LASFDE..7
LASFDE..7:
        .vbyte  4,LASFDE..7-Lframe..1
        .vbyte  4,LFB..17
        .vbyte  4,LFE..17-LFB..17
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..7:
LSFDE..9:
        .vbyte  4,LEFDE..9-LASFDE..9
LASFDE..9:
        .vbyte  4,LASFDE..9-Lframe..1
        .vbyte  4,LFB..12
        .vbyte  4,LFE..12-LFB..12
        .byte   0x4
        .vbyte  4,LCFI..15-LFB..12
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..16-LCFI..15
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..17-LCFI..16
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..9:
LSFDE..11:
        .vbyte  4,LEFDE..11-LASFDE..11
LASFDE..11:
        .vbyte  4,LASFDE..11-Lframe..1
        .vbyte  4,LFB..15
        .vbyte  4,LFE..15-LFB..15
        .byte   0x4
        .vbyte  4,LCFI..18-LFB..15
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..19-LCFI..18
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..20-LCFI..19
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..11:
LSFDE..13:
        .vbyte  4,LEFDE..13-LASFDE..13
LASFDE..13:
        .vbyte  4,LASFDE..13-Lframe..1
        .vbyte  4,LFB..9
        .vbyte  4,LFE..9-LFB..9
        .byte   0x4
        .vbyte  4,LCFI..21-LFB..9
        .byte   0xe
        .byte   0x60
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..22-LCFI..21
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..23-LCFI..22
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..13:
        .vbyte  4,0
        .csect .text[PR]
_section_.text:
        .csect .data[RW],4
        .long _section_.text
        .file   "/home/jh/trunk/gcc/testsuite/g++.dg/abi/vcall1.C"
        .csect .text[PR]
        .toc
        .csect .text[PR]
        .globl b
        .csect .data[RW],4
        .align 2
b:
        .space 4
        .csect .text[PR]
        .align 2
        .weak   _ZN1A1fEv[DS]
        .weak   ._ZN1A1fEv
        .csect _ZN1A1fEv[DS]
_ZN1A1fEv:
        .long ._ZN1A1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1A1fEv:
LFB..0:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..0:
        mr 31,1
LCFI..1:
        stw 3,56(31)
        addi 1,31,32
LCFI..2:
        lwz 31,-4(1)
        blr
LT.._ZN1A1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1A1fEv-._ZN1A1fEv
        .short 9
        .byte "_ZN1A1fEv"
        .byte 31
        .align 2
LFE..0:
        .lglobl ._ZN1A1fEv.localalias.4
        .lglobl _ZN1A1fEv.localalias.4
        .set    ._ZN1A1fEv.localalias.4,._ZN1A1fEv
        .set _ZN1A1fEv.localalias.4,_ZN1A1fEv
        .toc
LC..0:
        .tc _ZTV1A.P8[TC],_ZTV1A+8
        .csect .text[PR]
        .align 2
        .weak   _ZN1AC2Ev[DS]
        .weak   ._ZN1AC2Ev
        .csect _ZN1AC2Ev[DS]
_ZN1AC2Ev:
        .long ._ZN1AC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1AC2Ev:
LFB..3:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..3:
        mr 31,1
LCFI..4:
        stw 3,56(31)
        lwz 9,56(31)
        lwz 10,LC..0(2)
        stw 10,0(9)
        addi 1,31,32
LCFI..5:
        lwz 31,-4(1)
        blr
LT.._ZN1AC2Ev:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1AC2Ev-._ZN1AC2Ev
        .short 9
        .byte "_ZN1AC2Ev"
        .byte 31
        .align 2
LFE..3:
        .lglobl ._ZN1AC2Ev.localalias.3
        .lglobl _ZN1AC2Ev.localalias.3
        .set    ._ZN1AC2Ev.localalias.3,._ZN1AC2Ev
        .set _ZN1AC2Ev.localalias.3,_ZN1AC2Ev
        .toc
LC..1:
        .tc b[TC],b
        .csect .text[PR]
        .align 2
        .weak   _ZN1BC2Ev[DS]
        .weak   ._ZN1BC2Ev
        .csect _ZN1BC2Ev[DS]
_ZN1BC2Ev:
        .long ._ZN1BC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1BC2Ev:
LFB..5:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..6:
        mr 31,1
LCFI..7:
        stw 3,88(31)
        stw 4,92(31)
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,4(10)
        stw 10,0(9)
        lwz 9,LC..1(2)
        lwz 10,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 9,0(9)
        lwz 9,0(9)
        lwz 10,88(31)
        lwz 10,0(10)
        addi 10,10,-16
        lwz 10,0(10)
        mr 8,10
        lwz 10,88(31)
        add 10,10,8
        mr 3,10
        stw 2,20(1)
        lwz 10,0(9)
        lwz 11,8(9)
        mtctr 10
        lwz 2,4(9)
        bctrl
        lwz 2,20(1)
        addi 1,31,64
LCFI..8:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1BC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1BC2Ev-._ZN1BC2Ev
        .short 9
        .byte "_ZN1BC2Ev"
        .byte 31
        .align 2
LFE..5:
        .lglobl ._ZN1BC2Ev.localalias.2
        .lglobl _ZN1BC2Ev.localalias.2
        .set    ._ZN1BC2Ev.localalias.2,._ZN1BC2Ev
        .set _ZN1BC2Ev.localalias.2,_ZN1BC2Ev
        .toc
        .set LC..2,LC..1
        .csect .text[PR]
        .align 2
        .weak   _ZN1B1fEv[DS]
        .weak   ._ZN1B1fEv
        .csect _ZN1B1fEv[DS]
_ZN1B1fEv:
        .long ._ZN1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1B1fEv:
LFB..7:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..9:
        mr 31,1
LCFI..10:
        stw 3,88(31)
        lwz 9,LC..2(2)
        lwz 9,0(9)
        lwz 10,88(31)
        cmpw 7,10,9
        beq 7,L..4
        bl .abort
        nop
L..4:
        addi 1,31,64
LCFI..11:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1B1fEv:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1B1fEv-._ZN1B1fEv
        .short 9
        .byte "_ZN1B1fEv"
        .byte 31
        .align 2
LFE..7:
        .lglobl .LTHUNK..0
        .lglobl LTHUNK..0
        .set    .LTHUNK..0,._ZN1B1fEv
        .set LTHUNK..0,_ZN1B1fEv
        .align 2
        .weak   _ZTv0_n12_N1B1fEv[DS]
        .weak   ._ZTv0_n12_N1B1fEv
        .csect _ZTv0_n12_N1B1fEv[DS]
_ZTv0_n12_N1B1fEv:
        .long ._ZTv0_n12_N1B1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZTv0_n12_N1B1fEv:
LFB..16:
        lwz 12,0(3)
        lwz 12,-12(12)
        add 3,3,12
        b .LTHUNK..0
        .lglobl ._ZTv0_n12_N1B1fEv.localalias.5
        .lglobl _ZTv0_n12_N1B1fEv.localalias.5
        .set    ._ZTv0_n12_N1B1fEv.localalias.5,._ZTv0_n12_N1B1fEv
        .set _ZTv0_n12_N1B1fEv.localalias.5,_ZTv0_n12_N1B1fEv
LFE..16:
        .align 2
        .weak   _ZN1D1fEv[DS]
        .weak   ._ZN1D1fEv
        .csect _ZN1D1fEv[DS]
_ZN1D1fEv:
        .long ._ZN1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZN1D1fEv:
LFB..8:
        stw 31,-4(1)
        stwu 1,-32(1)
LCFI..12:
        mr 31,1
LCFI..13:
        stw 3,56(31)
        addi 1,31,32
LCFI..14:
        lwz 31,-4(1)
        blr
LT.._ZN1D1fEv:
        .long 0
        .byte 0,9,32,96,128,1,1,1
        .long 0
        .long LT.._ZN1D1fEv-._ZN1D1fEv
        .short 9
        .byte "_ZN1D1fEv"
        .byte 31
        .align 2
LFE..8:
        .lglobl .LTHUNK..2
        .lglobl LTHUNK..2
        .set    .LTHUNK..2,._ZN1D1fEv
        .set LTHUNK..2,_ZN1D1fEv
        .lglobl ._ZThn4_N1D1fEv.localalias.10
        .lglobl _ZThn4_N1D1fEv.localalias.10
        .set    ._ZThn4_N1D1fEv.localalias.10,._ZThn4_N1D1fEv
        .set _ZThn4_N1D1fEv.localalias.10,_ZThn4_N1D1fEv
        .align 2
        .weak   _ZThn4_N1D1fEv[DS]
        .weak   ._ZThn4_N1D1fEv
        .csect _ZThn4_N1D1fEv[DS]
_ZThn4_N1D1fEv:
        .long ._ZThn4_N1D1fEv, TOC[tc0], 0
        .csect .text[PR]
._ZThn4_N1D1fEv:
LFB..17:
        addi 3,3,-4
        b .LTHUNK..2
LFE..17:
        .align 2
        .weak   _ZN1CC2Ev[DS]
        .weak   ._ZN1CC2Ev
        .csect _ZN1CC2Ev[DS]
_ZN1CC2Ev:
        .long ._ZN1CC2Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1CC2Ev:
LFB..12:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..15:
        mr 31,1
LCFI..16:
        stw 3,88(31)
        stw 4,92(31)
        lwz 10,88(31)
        lwz 9,92(31)
        addi 9,9,4
        mr 4,9
        mr 3,10
        bl ._ZN1BC2Ev.localalias.2
        lwz 9,92(31)
        lwz 10,0(9)
        lwz 9,88(31)
        stw 10,0(9)
        lwz 9,88(31)
        lwz 9,0(9)
        addi 9,9,-16
        lwz 9,0(9)
        mr 10,9
        lwz 9,88(31)
        add 9,9,10
        lwz 10,92(31)
        lwz 10,12(10)
        stw 10,0(9)
        addi 1,31,64
LCFI..17:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1CC2Ev:
        .long 0
        .byte 0,9,32,97,128,1,2,1
        .long 0
        .long LT.._ZN1CC2Ev-._ZN1CC2Ev
        .short 9
        .byte "_ZN1CC2Ev"
        .byte 31
        .align 2
LFE..12:
        .lglobl ._ZN1CC2Ev.localalias.1
        .lglobl _ZN1CC2Ev.localalias.1
        .set    ._ZN1CC2Ev.localalias.1,._ZN1CC2Ev
        .set _ZN1CC2Ev.localalias.1,_ZN1CC2Ev
        .toc
LC..3:
        .tc _ZTT1D.P4[TC],_ZTT1D+4
LC..4:
        .tc _ZTT1D.P20[TC],_ZTT1D+20
LC..5:
        .tc _ZTV1D.P16[TC],_ZTV1D+16
LC..6:
        .tc _ZTV1D.P36[TC],_ZTV1D+36
        .csect .text[PR]
        .align 2
        .weak   _ZN1DC1Ev[DS]
        .weak   ._ZN1DC1Ev
        .csect _ZN1DC1Ev[DS]
_ZN1DC1Ev:
        .long ._ZN1DC1Ev, TOC[tc0], 0
        .csect .text[PR]
._ZN1DC1Ev:
LFB..15:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-64(1)
LCFI..18:
        mr 31,1
LCFI..19:
        stw 3,88(31)
        lwz 9,88(31)
        mr 3,9
        bl ._ZN1AC2Ev.localalias.3
        lwz 9,88(31)
        lwz 10,LC..3(2)
        mr 4,10
        mr 3,9
        bl ._ZN1CC2Ev.localalias.1
        lwz 9,88(31)
        addi 9,9,4
        lwz 10,LC..4(2)
        mr 4,10
        mr 3,9
        bl ._ZN1BC2Ev.localalias.2
        lwz 10,LC..5(2)
        lwz 9,88(31)
        stw 10,0(9)
        li 9,0
        lwz 10,88(31)
        add 9,10,9
        lwz 10,LC..5(2)
        stw 10,0(9)
        lwz 10,LC..6(2)
        lwz 9,88(31)
        stw 10,4(9)
        addi 1,31,64
LCFI..20:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT.._ZN1DC1Ev:
        .long 0
        .byte 0,9,32,97,128,1,1,1
        .long 0
        .long LT.._ZN1DC1Ev-._ZN1DC1Ev
        .short 9
        .byte "_ZN1DC1Ev"
        .byte 31
        .align 2
LFE..15:
        .lglobl ._ZN1DC1Ev.localalias.0
        .lglobl _ZN1DC1Ev.localalias.0
        .set    ._ZN1DC1Ev.localalias.0,._ZN1DC1Ev
        .set _ZN1DC1Ev.localalias.0,_ZN1DC1Ev
        .align 2
        .globl main
        .globl .main
        .csect main[DS]
main:
        .long .main, TOC[tc0], 0
        .csect .text[PR]
.main:
LFB..9:
        mflr 0
        stw 0,8(1)
        stw 31,-4(1)
        stwu 1,-96(1)
LCFI..21:
        mr 31,1
LCFI..22:
        addi 9,31,56
        mr 3,9
        bl ._ZN1DC1Ev.localalias.0
        li 9,0
        mr 3,9
        addi 1,31,96
LCFI..23:
        lwz 0,8(1)
        mtlr 0
        lwz 31,-4(1)
        blr
LT..main:
        .long 0
        .byte 0,9,32,97,128,1,0,1
        .long LT..main-.main
        .short 4
        .byte "main"
        .byte 31
        .align 2
LFE..9:
        .weak   _ZTV1D
        .csect .data[RW],4
        .align 2
_ZTV1D:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1D
        .long   LTHUNK..0
        .long   -4
        .long   -4
        .long   -4
        .long   _ZTI1D
        .long   _ZThn4_N1D1fEv.localalias.10
        .set _ZTV1D.localalias.6,_ZTV1D
        .weak   _ZTT1D
        .align 2
_ZTT1D:
        .long   _ZTV1D.localalias.6+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1B+16
        .long   _ZTC1D0_1C+16
        .long   _ZTC1D4_1B+16
        .long   _ZTC1D4_1B+32
        .long   _ZTV1D.localalias.6+16
        .long   _ZTV1D.localalias.6+36
        .weak   _ZTC1D0_1C
        .align 2
_ZTC1D0_1C:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1C
        .long   LTHUNK..0
        .weak   _ZTC1D0_1B
        .align 2
_ZTC1D0_1B:
        .long   0
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .weak   _ZTC1D4_1B
        .align 2
_ZTC1D4_1B:
        .long   -4
        .long   0
        .long   0
        .long   _ZTI1B
        .long   LTHUNK..0
        .long   4
        .long   4
        .long   _ZTI1B
        .long   _ZTv0_n12_N1B1fEv.localalias.5
        .weak   _ZTV1A
        .align 2
_ZTV1A:
        .long   0
        .long   _ZTI1A
        .long   _ZN1A1fEv.localalias.4
        .weak   _ZTI1D
        .align 2
_ZTI1D:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1D
        .long   3
        .long   2
        .long   _ZTI1C
        .long   2
        .long   _ZTI1B
        .long   1026
        .weak   _ZTS1D
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1D:
        .byte "1D"
        .byte 0
        .weak   _ZTI1C
        .csect .data[RW],4
        .align 2
_ZTI1C:
        .long   _ZTVN10__cxxabiv120__si_class_type_infoE+8
        .long   _ZTS1C
        .long   _ZTI1B
        .weak   _ZTS1C
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1C:
        .byte "1C"
        .byte 0
        .weak   _ZTI1B
        .csect .data[RW],4
        .align 2
_ZTI1B:
        .long   _ZTVN10__cxxabiv121__vmi_class_type_infoE+8
        .long   _ZTS1B
        .long   0
        .long   1
        .long   _ZTI1A
        .long   -4093
        .weak   _ZTS1B
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1B:
        .byte "1B"
        .byte 0
        .weak   _ZTI1A
        .csect .data[RW],4
        .align 2
_ZTI1A:
        .long   _ZTVN10__cxxabiv117__class_type_infoE+8
        .long   _ZTS1A
        .weak   _ZTS1A
        .csect _vcall1.ro_[RO],4
        .align 2
_ZTS1A:
        .byte "1A"
        .byte 0
        .csect .data[RW],4
        .align 2
        .globl _GLOBAL__F_b
_GLOBAL__F_b:
Lframe..1:
        .vbyte  4,LECIE..1-LSCIE..1
LSCIE..1:
        .vbyte  4,0
        .byte   0x3
        .byte 0
        .byte   0x1
        .byte   0x7c
        .byte   0x41
        .byte   0xc
        .byte   0x1
        .byte   0
        .align 2
LECIE..1:
LSFDE..1:
        .vbyte  4,LEFDE..1-LASFDE..1
LASFDE..1:
        .vbyte  4,LASFDE..1-Lframe..1
        .vbyte  4,LFB..5
        .vbyte  4,LFE..5-LFB..5
        .byte   0x4
        .vbyte  4,LCFI..6-LFB..5
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..7-LCFI..6
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..8-LCFI..7
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..1:
LSFDE..3:
        .vbyte  4,LEFDE..3-LASFDE..3
LASFDE..3:
        .vbyte  4,LASFDE..3-Lframe..1
        .vbyte  4,LFB..7
        .vbyte  4,LFE..7-LFB..7
        .byte   0x4
        .vbyte  4,LCFI..9-LFB..7
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..10-LCFI..9
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..11-LCFI..10
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..3:
LSFDE..5:
        .vbyte  4,LEFDE..5-LASFDE..5
LASFDE..5:
        .vbyte  4,LASFDE..5-Lframe..1
        .vbyte  4,LFB..16
        .vbyte  4,LFE..16-LFB..16
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..5:
LSFDE..7:
        .vbyte  4,LEFDE..7-LASFDE..7
LASFDE..7:
        .vbyte  4,LASFDE..7-Lframe..1
        .vbyte  4,LFB..17
        .vbyte  4,LFE..17-LFB..17
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..7:
LSFDE..9:
        .vbyte  4,LEFDE..9-LASFDE..9
LASFDE..9:
        .vbyte  4,LASFDE..9-Lframe..1
        .vbyte  4,LFB..12
        .vbyte  4,LFE..12-LFB..12
        .byte   0x4
        .vbyte  4,LCFI..15-LFB..12
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..16-LCFI..15
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..17-LCFI..16
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..9:
LSFDE..11:
        .vbyte  4,LEFDE..11-LASFDE..11
LASFDE..11:
        .vbyte  4,LASFDE..11-Lframe..1
        .vbyte  4,LFB..15
        .vbyte  4,LFE..15-LFB..15
        .byte   0x4
        .vbyte  4,LCFI..18-LFB..15
        .byte   0xe
        .byte   0x40
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..19-LCFI..18
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..20-LCFI..19
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..11:
LSFDE..13:
        .vbyte  4,LEFDE..13-LASFDE..13
LASFDE..13:
        .vbyte  4,LASFDE..13-Lframe..1
        .vbyte  4,LFB..9
        .vbyte  4,LFE..9-LFB..9
        .byte   0x4
        .vbyte  4,LCFI..21-LFB..9
        .byte   0xe
        .byte   0x60
        .byte   0x11
        .byte   0x41
        .byte   0x7e
        .byte   0x9f
        .byte   0x1
        .byte   0x4
        .vbyte  4,LCFI..22-LCFI..21
        .byte   0xd
        .byte   0x1f
        .byte   0x4
        .vbyte  4,LCFI..23-LCFI..22
        .byte   0xc
        .byte   0x1
        .byte   0
        .csect .text[PR]
        .ref Lframe..1
        .csect .data[RW],4
        .align 2
LEFDE..13:
        .vbyte  4,0
        .csect .text[PR]
_section_.text:
        .csect .data[RW],4
        .long _section_.text

Reply via email to