Hello community,
here is the log from the commit of package gcc48 for openSUSE:Factory checked
in at 2014-04-11 13:23:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc48 (Old)
and /work/SRC/openSUSE:Factory/.gcc48.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc48"
Changes:
--------
---
/work/SRC/openSUSE:Factory/gcc48/cross-aarch64-gcc48-icecream-backend.changes
2014-03-27 09:28:29.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.gcc48.new/cross-aarch64-gcc48-icecream-backend.changes
2014-04-11 13:23:40.000000000 +0200
@@ -1,0 +2,20 @@
+Mon Apr 7 07:45:11 UTC 2014 - [email protected]
+
+- Update to gcc-4_8-brach head (r209122).
+ * pulls official backport of ppc64le support
+ * drops gcc48-ibm-power8.diff, gcc48-ibm-power8-testsuite.diff,
+ gcc48-ibm-power8-other.diff, gcc48-pr59844.diff,
gcc48-ibm-power8-fixes1.diff,
+ gcc48-ibm-power8-fixes2.diff, gcc48-ibm-power8-disable-sanitizer.diff,
+ gcc48-ibm-power8-testsuite-fixes1.diff and gcc48-ibm-power8-fixes3.diff
+- tls-no-direct.diff, fix to only affect %ix86 similar to SLE11. [bnc#185782]
+- refresh gcc41-ppc32-retaddr.patch
+- Drop old compatibility provide and conflict of/with libgcc%{libgcc_s}
+
+-------------------------------------------------------------------
+Fri Apr 4 08:04:28 UTC 2014 - [email protected]
+
+- gcc48-ibm-power8-bnc871635.diff, fix glibc math testsuite. [bnc#871635]
+- gcc48-lto-plugin-short-readwrite.diff, backport lto-plugin changes
+ to work more reliably in virtualized environments.
+
+-------------------------------------------------------------------
cross-armv6hl-gcc48-icecream-backend.changes: same change
cross-armv7hl-gcc48-icecream-backend.changes: same change
cross-hppa-gcc48-icecream-backend.changes: same change
cross-i386-gcc48-icecream-backend.changes: same change
cross-ia64-gcc48-icecream-backend.changes: same change
cross-ppc-gcc48-icecream-backend.changes: same change
cross-ppc64-gcc48-icecream-backend.changes: same change
cross-ppc64le-gcc48-icecream-backend.changes: same change
cross-s390-gcc48-icecream-backend.changes: same change
cross-s390x-gcc48-icecream-backend.changes: same change
cross-x86_64-gcc48-icecream-backend.changes: same change
gcc48-testresults.changes: same change
gcc48.changes: same change
libffi48.changes: same change
libgcj48.changes: same change
Old:
----
gcc-4.8.2-r208784.tar.bz2
gcc48-ibm-power8-disable-sanitizer.diff
gcc48-ibm-power8-fixes1.diff
gcc48-ibm-power8-fixes2.diff
gcc48-ibm-power8-fixes3.diff
gcc48-ibm-power8-other.diff
gcc48-ibm-power8-testsuite-fixes1.diff
gcc48-ibm-power8-testsuite.diff
gcc48-ibm-power8.diff
New:
----
gcc-4.8.2-r209122.tar.bz2
gcc48-ibm-power8-bnc871635.diff
gcc48-lto-plugin-short-readwrite.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc48-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -91,7 +91,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r208784
+Version: 4.8.2+r209122
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -121,6 +121,7 @@
Patch34: pr58369.patch
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
+Patch38: gcc48-lto-plugin-short-readwrite.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -128,16 +129,7 @@
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
-# Patches for IBM features
-Patch70: gcc48-ibm-power8.diff
-Patch71: gcc48-ibm-power8-testsuite.diff
-Patch72: gcc48-ibm-power8-other.diff
-Patch73: gcc48-pr59844.diff
-Patch74: gcc48-ibm-power8-fixes1.diff
-Patch75: gcc48-ibm-power8-fixes2.diff
-Patch76: gcc48-ibm-power8-disable-sanitizer.diff
-Patch77: gcc48-ibm-power8-testsuite-fixes1.diff
-Patch78: gcc48-ibm-power8-fixes3.diff
+Patch70: gcc48-ibm-power8-bnc871635.diff
#testpatch end
@@ -205,20 +197,13 @@
%patch34 -p1
%patch36 -p1
%patch37 -p1
+%patch38
%patch51
%patch55
%patch57
%patch60
%patch61
%patch70
-%patch71
-%patch72
-%patch73
-%patch74
-%patch75
-%patch76
-%patch77
-%patch78
#test patching end
cross-armv6hl-gcc48-icecream-backend.spec: same change
cross-armv7hl-gcc48-icecream-backend.spec: same change
cross-hppa-gcc48-icecream-backend.spec: same change
cross-i386-gcc48-icecream-backend.spec: same change
cross-ia64-gcc48-icecream-backend.spec: same change
cross-ppc-gcc48-icecream-backend.spec: same change
cross-ppc64-gcc48-icecream-backend.spec: same change
cross-ppc64le-gcc48-icecream-backend.spec: same change
cross-s390-gcc48-icecream-backend.spec: same change
cross-s390x-gcc48-icecream-backend.spec: same change
cross-x86_64-gcc48-icecream-backend.spec: same change
gcc48-testresults.spec: same change
++++++ gcc48.spec ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -205,7 +205,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r208784
+Version: 4.8.2+r209122
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -261,6 +261,7 @@
Patch34: pr58369.patch
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
+Patch38: gcc48-lto-plugin-short-readwrite.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -268,16 +269,7 @@
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
-# Patches for IBM features
-Patch70: gcc48-ibm-power8.diff
-Patch71: gcc48-ibm-power8-testsuite.diff
-Patch72: gcc48-ibm-power8-other.diff
-Patch73: gcc48-pr59844.diff
-Patch74: gcc48-ibm-power8-fixes1.diff
-Patch75: gcc48-ibm-power8-fixes2.diff
-Patch76: gcc48-ibm-power8-disable-sanitizer.diff
-Patch77: gcc48-ibm-power8-testsuite-fixes1.diff
-Patch78: gcc48-ibm-power8-fixes3.diff
+Patch70: gcc48-ibm-power8-bnc871635.diff
#testpatch end
@@ -437,9 +429,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s} = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
Libgcc is needed for dynamically linked C programs.
@@ -455,9 +444,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}-32bit
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}-32bit = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}-32bit
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
Libgcc is needed for dynamically linked C programs.
@@ -473,9 +459,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}-64bit
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}-64bit = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}-64bit
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
Libgcc is needed for dynamically linked C programs.
@@ -1497,20 +1480,13 @@
%patch34 -p1
%patch36 -p1
%patch37 -p1
+%patch38
%patch51
%patch55
%patch57
%patch60
%patch61
%patch70
-%patch71
-%patch72
-%patch73
-%patch74
-%patch75
-%patch76
-%patch77
-%patch78
#test patching end
++++++ libffi48.spec ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -222,7 +222,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r208784
+Version: 4.8.2+r209122
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -278,6 +278,7 @@
Patch34: pr58369.patch
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
+Patch38: gcc48-lto-plugin-short-readwrite.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -285,16 +286,7 @@
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
-# Patches for IBM features
-Patch70: gcc48-ibm-power8.diff
-Patch71: gcc48-ibm-power8-testsuite.diff
-Patch72: gcc48-ibm-power8-other.diff
-Patch73: gcc48-pr59844.diff
-Patch74: gcc48-ibm-power8-fixes1.diff
-Patch75: gcc48-ibm-power8-fixes2.diff
-Patch76: gcc48-ibm-power8-disable-sanitizer.diff
-Patch77: gcc48-ibm-power8-testsuite-fixes1.diff
-Patch78: gcc48-ibm-power8-fixes3.diff
+Patch70: gcc48-ibm-power8-bnc871635.diff
#testpatch end
@@ -501,20 +493,13 @@
%patch34 -p1
%patch36 -p1
%patch37 -p1
+%patch38
%patch51
%patch55
%patch57
%patch60
%patch61
%patch70
-%patch71
-%patch72
-%patch73
-%patch74
-%patch75
-%patch76
-%patch77
-%patch78
#test patching end
libgcj48.spec: same change
++++++ gcc-4.8.2-r208784.tar.bz2 -> gcc-4.8.2-r209122.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc48/gcc-4.8.2-r208784.tar.bz2
/work/SRC/openSUSE:Factory/.gcc48.new/gcc-4.8.2-r209122.tar.bz2 differ: char
11, line 1
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -210,7 +210,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: http://gcc.gnu.org/
-Version: 4.8.2+r208784
+Version: 4.8.2+r209122
Release: 1
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -268,6 +268,7 @@
Patch34: pr58369.patch
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
+Patch38: gcc48-lto-plugin-short-readwrite.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -275,16 +276,7 @@
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
-# Patches for IBM features
-Patch70: gcc48-ibm-power8.diff
-Patch71: gcc48-ibm-power8-testsuite.diff
-Patch72: gcc48-ibm-power8-other.diff
-Patch73: gcc48-pr59844.diff
-Patch74: gcc48-ibm-power8-fixes1.diff
-Patch75: gcc48-ibm-power8-fixes2.diff
-Patch76: gcc48-ibm-power8-disable-sanitizer.diff
-Patch77: gcc48-ibm-power8-testsuite-fixes1.diff
-Patch78: gcc48-ibm-power8-fixes3.diff
+Patch70: gcc48-ibm-power8-bnc871635.diff
#testpatch end
@@ -424,9 +416,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}@variant@
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}@variant@
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
Libgcc is needed for dynamically linked C programs.
@@ -1004,20 +993,13 @@
%patch34 -p1
%patch36 -p1
%patch37 -p1
+%patch38
%patch51
%patch55
%patch57
%patch60
%patch61
%patch70
-%patch71
-%patch72
-%patch73
-%patch74
-%patch75
-%patch76
-%patch77
-%patch78
#test patching end
++++++ gcc41-ppc32-retaddr.patch ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -8,11 +8,11 @@
Index: gcc/config/rs6000/rs6000.c
===================================================================
---- gcc/config/rs6000/rs6000.c.orig 2012-12-11 11:56:04.000000000 +0100
-+++ gcc/config/rs6000/rs6000.c 2012-12-11 12:52:22.803078827 +0100
-@@ -18325,18 +18325,22 @@ rs6000_return_addr (int count, rtx frame
- don't try to be too clever here. */
- if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
+--- gcc/config/rs6000/rs6000.c.orig 2013-11-26 15:42:33.000000000 +0100
++++ gcc/config/rs6000/rs6000.c 2013-11-26 16:44:14.566089231 +0100
+@@ -20878,18 +20878,22 @@ rs6000_return_addr (int count, rtx frame
+ if (count != 0
+ || ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic))
{
+ rtx x;
cfun->machine->ra_needs_full_frame = 1;
@@ -46,7 +46,7 @@
Index: gcc/testsuite/gcc.dg/20051128-1.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gcc/testsuite/gcc.dg/20051128-1.c 2012-12-11 12:50:58.037081764 +0100
++++ gcc/testsuite/gcc.dg/20051128-1.c 2013-11-26 16:44:14.566089231 +0100
@@ -0,0 +1,41 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -fpic" } */
++++++ gcc48-ibm-power8-bnc871635.diff ++++++
2013-12-03 Adhemerval Zanella <[email protected]>
* config/rs6000/ibm-ldouble.c (__gcc_qadd): Fix add
of normal number and qNaN to not raise an inexact exception.
* gcc.target/powerpc/pr57363.c: New test.
Index: libgcc/config/rs6000/ibm-ldouble.c
===================================================================
--- libgcc/config/rs6000/ibm-ldouble.c (revision 205644)
+++ libgcc/config/rs6000/ibm-ldouble.c (revision 205645)
@@ -104,6 +104,8 @@ __gcc_qadd (double a, double aa, double
if (nonfinite (z))
{
+ if (fabs (z) != inf())
+ return z;
z = cc + aa + c + a;
if (nonfinite (z))
return z;
Index: gcc/testsuite/gcc.target/powerpc/pr57363.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/pr57363.c (revision 0)
+++ gcc/testsuite/gcc.target/powerpc/pr57363.c (revision 205645)
@@ -0,0 +1,19 @@
+/* { dg-do run { target { powerpc*-*-linux* } } } */
+/* { dg-options "-mlong-double-128" } */
+
+/* Check if adding a qNAN and a normal long double does not generate a
+ inexact exception. */
+
+#define _GNU_SOURCE
+#include <fenv.h>
+
+int main(void)
+{
+ double x = __builtin_nan ("");
+ long double y = 1.1L;
+
+ feenableexcept (FE_INEXACT);
+ feclearexcept (FE_ALL_EXCEPT);
+ x = x + y;
+ return fetestexcept(FE_INEXACT);
+}
++++++ gcc48-lto-plugin-short-readwrite.diff ++++++
2014-03-28 Richard Biener <[email protected]>
* simple-object.c (simple_object_internal_read): Handle
EINTR and short reads.
* lto-plugin.c (process_symtab): Handle EINTR and short reads.
2014-04-01 Richard Biener <[email protected]>
* simple-object.c (simple_object_internal_write): Handle
EINTR and short writes.
Index: libiberty/simple-object.c
===================================================================
--- libiberty/simple-object.c (revision 208897)
+++ libiberty/simple-object.c (revision 208898)
@@ -63,8 +63,6 @@ simple_object_internal_read (int descrip
unsigned char *buffer, size_t size,
const char **errmsg, int *err)
{
- ssize_t got;
-
if (lseek (descriptor, offset, SEEK_SET) < 0)
{
*errmsg = "lseek";
@@ -72,15 +70,26 @@ simple_object_internal_read (int descrip
return 0;
}
- got = read (descriptor, buffer, size);
- if (got < 0)
+ do
{
- *errmsg = "read";
- *err = errno;
- return 0;
+ ssize_t got = read (descriptor, buffer, size);
+ if (got == 0)
+ break;
+ else if (got > 0)
+ {
+ buffer += got;
+ size -= got;
+ }
+ else if (errno != EINTR)
+ {
+ *errmsg = "read";
+ *err = errno;
+ return 0;
+ }
}
+ while (size > 0);
- if ((size_t) got < size)
+ if (size > 0)
{
*errmsg = "file too short";
*err = 0;
Index: lto-plugin/lto-plugin.c
===================================================================
--- lto-plugin/lto-plugin.c (revision 208897)
+++ lto-plugin/lto-plugin.c (revision 208898)
@@ -39,6 +39,7 @@ along with this program; see the file CO
#include <stdint.h>
#endif
#include <assert.h>
+#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
@@ -817,7 +818,7 @@ process_symtab (void *data, const char *
{
struct plugin_objfile *obj = (struct plugin_objfile *)data;
char *s;
- char *secdata;
+ char *secdatastart, *secdata;
if (strncmp (name, LTO_SECTION_PREFIX, LTO_SECTION_PREFIX_LEN) != 0)
return 1;
@@ -825,23 +826,40 @@ process_symtab (void *data, const char *
s = strrchr (name, '.');
if (s)
sscanf (s, ".%" PRI_LL "x", &obj->out->id);
- secdata = xmalloc (length);
+ secdata = secdatastart = xmalloc (length);
offset += obj->file->offset;
- if (offset != lseek (obj->file->fd, offset, SEEK_SET)
- || length != read (obj->file->fd, secdata, length))
+ if (offset != lseek (obj->file->fd, offset, SEEK_SET))
+ goto err;
+
+ do
{
- if (message)
- message (LDPL_FATAL, "%s: corrupt object file", obj->file->name);
- /* Force claim_file_handler to abandon this file. */
- obj->found = 0;
- free (secdata);
- return 0;
+ ssize_t got = read (obj->file->fd, secdata, length);
+ if (got == 0)
+ break;
+ else if (got > 0)
+ {
+ secdata += got;
+ length -= got;
+ }
+ else if (errno != EINTR)
+ goto err;
}
+ while (length > 0);
+ if (length > 0)
+ goto err;
- translate (secdata, secdata + length, obj->out);
+ translate (secdatastart, secdata, obj->out);
obj->found++;
- free (secdata);
+ free (secdatastart);
return 1;
+
+err:
+ if (message)
+ message (LDPL_FATAL, "%s: corrupt object file", obj->file->name);
+ /* Force claim_file_handler to abandon this file. */
+ obj->found = 0;
+ free (secdatastart);
+ return 0;
}
/* Callback used by gold to check if the plugin will claim FILE. Writes
Index: libiberty/simple-object.c
===================================================================
--- libiberty/simple-object.c (revision 208971)
+++ libiberty/simple-object.c (revision 208972)
@@ -107,8 +107,6 @@ simple_object_internal_write (int descri
const unsigned char *buffer, size_t size,
const char **errmsg, int *err)
{
- ssize_t wrote;
-
if (lseek (descriptor, offset, SEEK_SET) < 0)
{
*errmsg = "lseek";
@@ -116,15 +114,26 @@ simple_object_internal_write (int descri
return 0;
}
- wrote = write (descriptor, buffer, size);
- if (wrote < 0)
+ do
{
- *errmsg = "write";
- *err = errno;
- return 0;
+ ssize_t wrote = write (descriptor, buffer, size);
+ if (wrote == 0)
+ break;
+ else if (wrote > 0)
+ {
+ buffer += wrote;
+ size -= wrote;
+ }
+ else if (errno != EINTR)
+ {
+ *errmsg = "write";
+ *err = errno;
+ return 0;
+ }
}
+ while (size > 0);
- if ((size_t) wrote < size)
+ if (size > 0)
{
*errmsg = "short write";
*err = 0;
++++++ tls-no-direct.diff ++++++
--- /var/tmp/diff_new_pack.0UkVuT/_old 2014-04-11 13:23:47.000000000 +0200
+++ /var/tmp/diff_new_pack.0UkVuT/_new 2014-04-11 13:23:47.000000000 +0200
@@ -1,17 +1,20 @@
-Index: gcc/config/i386/gnu-user-common.h
+For i?86 negative offsets to %fs segment accesses cause a hypervisor
+trap for Xen. Avoid this by making accesses indirect.
+
+??? Note that similar to the behavior on SLE11 this only affects
+the compiler built on %ix86, not that on x86_64, even with -m32.
+
+Index: gcc/config/i386/linux.h
===================================================================
---- gcc/config/i386/gnu-user-common.h.orig 2012-12-11 12:44:53.918094370
+0100
-+++ gcc/config/i386/gnu-user-common.h 2012-12-11 12:44:55.467094317 +0100
-@@ -26,8 +26,12 @@ along with GCC; see the file COPYING3.
- #define DEFAULT_PCC_STRUCT_RETURN 1
+--- gcc/config/i386/linux.h (revision 209175)
++++ gcc/config/i386/linux.h (working copy)
+@@ -21,3 +21,9 @@ along with GCC; see the file COPYING3.
- /* We arrange for the whole %fs segment to map the tls area. */
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++
+/* This slows down Xen, so take a very small general performance hit
+ for not accessing the %fs segment with negative offsets by making
-+ GCC not emit direct accesses to %fs at all.
- #undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
- #define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-+ */
-
- #define TARGET_OS_CPP_BUILTINS() \
- do \
++ GCC not emit direct accesses to %fs at all. */
++#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
++#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]