OSDN Git Service

* config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Feb 2002 21:19:46 +0000 (21:19 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Feb 2002 21:19:46 +0000 (21:19 +0000)
* config/s390/t-linux64: New file.
* config/s390/libgcc-glibc.ver: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49553 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config.gcc
gcc/config/s390/libgcc-glibc.ver [new file with mode: 0644]
gcc/config/s390/t-linux64 [new file with mode: 0644]

index 8ccd657..778b0d7 100644 (file)
@@ -1,5 +1,11 @@
 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
 
+       * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
+       * config/s390/t-linux64: New file.
+       * config/s390/libgcc-glibc.ver: New file.
+
+2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
        * config/s390/linux64.h: Delete file.
        * config/s390/s390x.h: New file.
        * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
index 96d1137..0724bc9 100644 (file)
@@ -2874,7 +2874,7 @@ s390x-*-linux*)
        tm_p_file=s390/s390-protos.h
        md_file=s390/s390.md
        out_file=s390/s390.c
-       tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux"
+       tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux s390/t-linux64"
        extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
        if test x$enable_threads = xyes; then
                thread_file='posix'
diff --git a/gcc/config/s390/libgcc-glibc.ver b/gcc/config/s390/libgcc-glibc.ver
new file mode 100644 (file)
index 0000000..9a42151
--- /dev/null
@@ -0,0 +1,21 @@
+# In order to work around the very problems that force us to now generally
+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
+# By now choosing the same version tags for these specific routines, we
+# maintain enough binary compatibility to allow future versions of glibc
+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
+
+# Note that we cannot use the default libgcc-glibc.ver file on s390x,
+# because GLIBC_2.0 does not exist on this architecture, as the first 
+# ever glibc release on the platform was GLIBC_2.2.
+
+%inherit GCC_3.0 GLIBC_2.2
+GLIBC_2.2 {
+  __register_frame
+  __register_frame_table
+  __deregister_frame
+  __register_frame_info
+  __deregister_frame_info
+  __frame_state_for
+  __register_frame_info_table
+}
+
diff --git a/gcc/config/s390/t-linux64 b/gcc/config/s390/t-linux64
new file mode 100644 (file)
index 0000000..d5a9278
--- /dev/null
@@ -0,0 +1,3 @@
+# Override t-slibgcc-elf-ver to export some libgcc symbols with
+# the symbol versions that glibc used.
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/s390/libgcc-glibc.ver