This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Remove .jcr registry from the crtfiles
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