Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Oberhuber2017-05-25 20:26:53 +0000
committerArun Thondapu2017-05-29 17:03:01 +0000
commitc636cf26e8ae94def06ac84039f9dde6e85f5e5d (patch)
tree736d8e30cd44b58d4f9ba412796ae5f02419be96 /features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
parent13af9dee8d49f1c068d8bc8caaf3ec816f754a3a (diff)
downloadrt.equinox.framework-c636cf26e8ae94def06ac84039f9dde6e85f5e5d.tar.gz
rt.equinox.framework-c636cf26e8ae94def06ac84039f9dde6e85f5e5d.tar.xz
rt.equinox.framework-c636cf26e8ae94def06ac84039f9dde6e85f5e5d.zip
Bug 517013 - Avoid memcpy@GLIBC_2.14 dependency on Linux x86_64
On newer Linux x86_64 hosts like REL7, an optimized version of memcpy() is available in glibc and linked in by default. The drawback of linking that optimized version is, that the resulting binaries don't run any more on older Linux distributions like REL6 (where that optimized memcpy@GLIBC_2.14 is not available). This fix avoids the problem by replacing memcpy() with memmove() on Linux x86_64 hosts only. To be safe, it also compiles with -fno-builtin-memcpy -fno-builtin-memmove on Linux x86_64. See also bug 515155 for a very similar fix in SWT to support REL6. Change-Id: I39bc8d4975015eb52f35d3d02eae921bf6d66478 Signed-off-by: Martin Oberhuber <martin.oberhuber@windriver.com> Signed-off-by: Arun Thondapu <arunkumar.thondapu@in.ibm.com>
Diffstat (limited to 'features/org.eclipse.equinox.executable.feature/library/gtk/build.sh')
-rwxr-xr-x[-rw-r--r--]features/org.eclipse.equinox.executable.feature/library/gtk/build.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh b/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
index 19ac6ec0b..6cd9ca86e 100644..100755
--- a/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
+++ b/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
@@ -10,6 +10,7 @@
# IBM Corporation - initial API and implementation
# Kevin Cornell (Rational Software Corporation)
# Martin Oberhuber (Wind River) - [176805] Support building with gcc and debug
+# Martin Oberhuber (Wind River) - [517013] Avoid memcpy@GLIBC_2.14 dependency
#*******************************************************************************
#
# Usage: sh build.sh [<optional switches>] [clean]
@@ -253,6 +254,12 @@ elif [ "$defaultOS" = "solaris" ]; then
M_ARCH=-m64
export M_ARCH
fi
+elif [ "$defaultOS" = "linux" ]; then
+ if [ "$defaultOSArch" = "x86_64" ]; then
+ # Bug 517013: Avoid using memcpy() to remain compatible with older glibc
+ M_CFLAGS="-fno-builtin-memcpy -fno-builtin-memmove"
+ export M_CFLAGS
+ fi
fi
LIBRARY_DIR="$EXEC_DIR/../org.eclipse.equinox.launcher.$defaultWS.$defaultOS.$defaultOSArch"

Back to the top