OSDN Git Service

Update Copyright years for files modified in 2008 and/or 2009.
[pf3gnuchains/gcc-fork.git] / gcc / config / rs6000 / eabi-cn.asm
index 36c7f49..6525d23 100644 (file)
@@ -1,44 +1,44 @@
-# crtn.s for eabi
-
-#   Copyright (C) 1996 Free Software Foundation, Inc.
-#   Written By Michael Meissner
-# 
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option) any
-# later version.
-# 
-# In addition to the permissions in the GNU General Public License, the
-# Free Software Foundation gives you unlimited permission to link the
-# compiled version of this file with other programs, and to distribute
-# those programs without any restriction coming from the use of this
-# file.  (The General Public License restrictions do apply in other
-# respects; for example, they cover modification of the file, and
-# distribution when not linked into another program.)
-# 
-# This file is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING.  If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-# 
-#    As a special exception, if you link this library with files
-#    compiled with GCC to produce an executable, this does not cause
-#    the resulting executable to be covered by the GNU General Public License.
-#    This exception does not however invalidate any other reasons why
-#    the executable file might be covered by the GNU General Public License.
-# 
-
-# This file just supplies labeled ending points for the .got* and other
-# special sections.  It is linked in last after other modules.
+/* crtn.s for eabi
+   Copyright (C) 1996, 2000, 2007, 2008 Free Software Foundation, Inc.
+   Written By Michael Meissner
+
+This file is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file with other programs, and to distribute
+those programs without any restriction coming from the use of this
+file.  (The General Public License restrictions do apply in other
+respects; for example, they cover modification of the file, and
+distribution when not linked into another program.)
+
+This file is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; see the file COPYING.  If not, write to
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
+   As a special exception, if you link this library with files
+   compiled with GCC to produce an executable, this does not cause
+   the resulting executable to be covered by the GNU General Public License.
+   This exception does not however invalidate any other reasons why
+   the executable file might be covered by the GNU General Public License.
+
+  */
+
+/* This file just supplies labeled ending points for the .got* and other
+   special sections.  It is linked in last after other modules.  */
  
-       .file   "crtn.s"
        .ident  "GNU C crtn.s"
 
+#ifndef __powerpc64__
        .section ".got","aw"
        .globl  __GOT_END__
        .type   __GOT_END__,@object
@@ -65,17 +65,10 @@ __FIXUP_END__:
 __CTOR_END__:
 
        .section ".dtors","aw"
-       .globl  __DTOR_END__
+       .weak   __DTOR_END__
        .type   __DTOR_END__,@object
 __DTOR_END__:
 
-# Put a blrl instruction in the special .got.blrl section, which
-# the GNU linker puts at _GLOBAL_OFFSET_TABLE-4, so that a program
-# can find the _GLOBAL_OFFSET_TABLE_ address in a painless fashion.
-
-       .section ".got.blrl","awx"
-       blrl
-
        .section ".sdata","aw"
        .globl  __SDATA_END__
        .type   __SDATA_END__,@object
@@ -86,12 +79,12 @@ __SDATA_END__:
        .type   __SBSS_END__,@object
 __SBSS_END__:
 
-       .section ".sdata2","aw"
+       .section ".sdata2","a"
        .globl  __SDATA2_END__
        .type   __SDATA2_END__,@object
 __SDATA2_END__:
 
-       .section ".sbss2","aw"
+       .section ".sbss2","a"
        .globl  __SBSS2_END__
        .type   __SBSS2_END__,@object
 __SBSS2_END__:
@@ -100,3 +93,24 @@ __SBSS2_END__:
        .globl  __EXCEPT_END__
        .type   __EXCEPT_END__,@object
 __EXCEPT_END__:
+
+       .section ".eh_frame","aw"
+       .globl  __EH_FRAME_END__
+       .type   __EH_FRAME_END__,@object
+__EH_FRAME_END__:
+        .long   0
+
+/* Tail of __init function used for static constructors.  */
+       .section ".init","ax"
+       lwz 0,20(1)
+       mtlr 0
+       addi 1,1,16
+       blr
+
+/* Tail of __fini function used for static destructors.  */
+       .section ".fini","ax"
+       lwz 0,20(1)
+       mtlr 0
+       addi 1,1,16
+       blr
+#endif