Message ID | mvmwphnw7uo.fsf@hawking.suse.de |
---|---|
State | New |
Headers | show |
On Wed, Oct 05, 2016 at 09:52:31AM +0200, Andreas Schwab wrote: > * config/ia64/crtbegin.S (__do_jv_register_classes): Remove. > (.section .init_array): Don't call __do_jv_register_classes. > (.section .init): Likewise. Oops, sorry for missing that. The patch is ok. > > diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S > index 3bf0e71a3a..cee0cf567d 100644 > --- a/libgcc/config/ia64/crtbegin.S > +++ b/libgcc/config/ia64/crtbegin.S > @@ -63,7 +63,6 @@ __dso_handle: > data8 @fptr(__do_global_dtors_aux) > > .section .init_array, "a" > - data8 @fptr(__do_jv_register_classes) > data8 @fptr(__do_global_ctors_aux) > > #else /* !HAVE_INITFINI_ARRAY_SUPPORT */ > @@ -95,24 +94,6 @@ __dso_handle: > mov b6 = r2 > br.call.sptk.many b0 = b6 > } > - > -/* Likewise for _init. */ > - > -.section .init,"ax","progbits" > - { .mlx > - movl r2 = @pcrel(__do_jv_register_classes - 16) > - } > - { .mii > - mov r3 = ip > - ;; > - add r2 = r2, r3 > - ;; > - } > - { .mib > - nop 0 > - mov b6 = r2 > - br.call.sptk.many b0 = b6 > - } > #endif /* !HAVE_INITFINI_ARRAY_SUPPORT */ > > .section .text > @@ -200,50 +181,6 @@ __do_global_dtors_aux: > br.ret.sptk.many rp > .endp __do_global_dtors_aux > > - .align 32 > - .proc __do_jv_register_classes > -__do_jv_register_classes: > - .prologue > - .save ar.pfs, r33 > - alloc loc1 = ar.pfs, 0, 3, 1, 0 > - movl out0 = @gprel(__JCR_LIST__) > - ;; > - > - addl r14 = @ltoff(@fptr(_Jv_RegisterClasses)), gp > - add out0 = out0, gp > - .save rp, loc0 > - mov loc0 = rp > - .body > - ;; > - > - ld8 r14 = [r14] > - ld8 r15 = [out0] > - cmp.ne p6, p0 = r0, r0 > - ;; > - > - cmp.eq.or p6, p0 = r0, r14 > - cmp.eq.or p6, p0 = r0, r15 > -(p6) br.ret.sptk.many rp > - > - ld8 r15 = [r14], 8 > - ;; > - nop 0 > - mov b6 = r15 > - > - mov loc2 = gp > - ld8 gp = [r14] > - br.call.sptk.many rp = b6 > - ;; > - > - mov gp = loc2 > - mov rp = loc0 > - mov ar.pfs = loc1 > - > - nop 0 > - nop 0 > - br.ret.sptk.many rp > - .endp __do_jv_register_classes > - > #ifdef SHARED > .weak __cxa_finalize > #endif > -- > 2.10.1 > > > Andreas. > > -- > Andreas Schwab, SUSE Labs, schwab@suse.de > GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 > "And now for something completely different." Jakub
diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S index 3bf0e71a3a..cee0cf567d 100644 --- a/libgcc/config/ia64/crtbegin.S +++ b/libgcc/config/ia64/crtbegin.S @@ -63,7 +63,6 @@ __dso_handle: data8 @fptr(__do_global_dtors_aux) .section .init_array, "a" - data8 @fptr(__do_jv_register_classes) data8 @fptr(__do_global_ctors_aux) #else /* !HAVE_INITFINI_ARRAY_SUPPORT */ @@ -95,24 +94,6 @@ __dso_handle: mov b6 = r2 br.call.sptk.many b0 = b6 } - -/* Likewise for _init. */ - -.section .init,"ax","progbits" - { .mlx - movl r2 = @pcrel(__do_jv_register_classes - 16) - } - { .mii - mov r3 = ip - ;; - add r2 = r2, r3 - ;; - } - { .mib - nop 0 - mov b6 = r2 - br.call.sptk.many b0 = b6 - } #endif /* !HAVE_INITFINI_ARRAY_SUPPORT */ .section .text @@ -200,50 +181,6 @@ __do_global_dtors_aux: br.ret.sptk.many rp .endp __do_global_dtors_aux - .align 32 - .proc __do_jv_register_classes -__do_jv_register_classes: - .prologue - .save ar.pfs, r33 - alloc loc1 = ar.pfs, 0, 3, 1, 0 - movl out0 = @gprel(__JCR_LIST__) - ;; - - addl r14 = @ltoff(@fptr(_Jv_RegisterClasses)), gp - add out0 = out0, gp - .save rp, loc0 - mov loc0 = rp - .body - ;; - - ld8 r14 = [r14] - ld8 r15 = [out0] - cmp.ne p6, p0 = r0, r0 - ;; - - cmp.eq.or p6, p0 = r0, r14 - cmp.eq.or p6, p0 = r0, r15 -(p6) br.ret.sptk.many rp - - ld8 r15 = [r14], 8 - ;; - nop 0 - mov b6 = r15 - - mov loc2 = gp - ld8 gp = [r14] - br.call.sptk.many rp = b6 - ;; - - mov gp = loc2 - mov rp = loc0 - mov ar.pfs = loc1 - - nop 0 - nop 0 - br.ret.sptk.many rp - .endp __do_jv_register_classes - #ifdef SHARED .weak __cxa_finalize #endif