aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/ia64/crtbegin.asm15
-rw-r--r--gcc/config/ia64/crtend.asm14
3 files changed, 21 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f980861..3a6eabc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-22 Richard Henderson <rth@redhat.com>
+
+ * 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 <aj@suse.de>
* extend.texi (C++ Attributes): Fix typo.
diff --git a/gcc/config/ia64/crtbegin.asm b/gcc/config/ia64/crtbegin.asm
index 1b57a99..1568337 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, <Jes.Sorensen@cern.ch>
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 81f9019..3a097d7 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, <Jes.Sorensen@cern.ch>
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
;;
}