From: Richard Henderson Date: Thu, 22 Feb 2001 22:57:28 +0000 (-0800) Subject: crtbegin.asm (.fini): Use pc-relative relocs to reach .text instead of gp-relative... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=515edc9bf896285f284228b9b798a633c06f3037;p=gcc.git crtbegin.asm (.fini): Use pc-relative relocs to reach .text instead of gp-relative relocs. * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to reach .text instead of gp-relative relocs. * config/ia64/crtend.asm (.init): Likewise. From-SVN: r39986 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f98086131da..3a6eabc75fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-02-22 Richard Henderson + + * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to + reach .text instead of gp-relative relocs. + * config/ia64/crtend.asm (.init): Likewise. + 2001-02-22 Andreas Jaeger * extend.texi (C++ Attributes): Fix typo. diff --git a/gcc/config/ia64/crtbegin.asm b/gcc/config/ia64/crtbegin.asm index 1b57a99316c..1568337b290 100644 --- a/gcc/config/ia64/crtbegin.asm +++ b/gcc/config/ia64/crtbegin.asm @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. Contributed by Jes Sorensen, The GNU C Library is free software; you can redistribute it and/or @@ -71,16 +71,16 @@ __dso_handle: */ .section .fini,"ax","progbits" { .mlx - movl r2 = @gprel(__do_global_dtors_aux#) - ;; + movl r2 = @pcrel(__do_global_dtors_aux# - 16) } { .mii - nop.m 0 - add r2 = r2, gp + mov r3 = ip + ;; + add r2 = r2, r3 ;; - mov b6 = r2 } - { .bbb + { .mib + mov b6 = r2 br.call.sptk.many b0 = b6 ;; } @@ -105,6 +105,7 @@ __dso_handle: } { .mfb st8 [r2] = r16 + ;; } #endif diff --git a/gcc/config/ia64/crtend.asm b/gcc/config/ia64/crtend.asm index 81f90198fb6..3a097d7622f 100644 --- a/gcc/config/ia64/crtend.asm +++ b/gcc/config/ia64/crtend.asm @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. Contributed by Jes Sorensen, The GNU C Library is free software; you can redistribute it and/or @@ -41,16 +41,16 @@ __DTOR_END__: */ .section .init,"ax","progbits" { .mlx - movl r2 = @gprel(__do_global_ctors_aux#) - ;; + movl r2 = @pcrel(__do_global_ctors_aux# - 16) } { .mii - nop.m 0 - add r2 = r2, gp + mov r3 = ip + ;; + add r2 = r2, r3 ;; - mov b6 = r2 } - { .bbb + { .mib + mov b6 = r2 br.call.sptk.many b0 = b6 ;; }