components/binutils/patches/elf-common.h.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Wed, 04 Nov 2015 08:30:48 -0800
changeset 5057 ab1b43bf588f
permissions -rw-r--r--
21555668 upgrade binutils to 2.25.1

# If building on Solaris, then do the following:
# 1. #include <sys/auxv.h> - which will bring in all the
# necessary AT_SUN_* macros.
# 2. #ifndef guard all the AT_SUN_* macros. The definitions from
# /usr/include/sys/auxv.h will be used.
#
# If not building on Solaris - i.e. cross-compiling, then
# the AT_SUN_* macro definitions present here will be used.
#
# This patch has been submitted to the community.
--- include/elf/common.h	2014-10-14 00:32:04.000000000 -0700
+++ include/elf/common.h	2015-08-04 12:32:32.098574442 -0700
@@ -30,6 +30,10 @@
 #ifndef _ELF_COMMON_H
 #define _ELF_COMMON_H
 
+#if defined(sun) || defined(__sun) || defined(__sun__)
+#include <sys/auxv.h>
+#endif
+
 /* Fields in e_ident[].  */
 
 #define EI_MAG0		0	/* File identification byte 0 index */
@@ -975,25 +979,77 @@
 #define AT_L2_CACHESHAPE  36
 #define AT_L3_CACHESHAPE  37
 
+#ifndef AT_SUN_UID
 #define AT_SUN_UID      2000    /* Effective user ID.  */
+#endif
+
+#ifndef AT_SUN_RUID
 #define AT_SUN_RUID     2001    /* Real user ID.  */
+#endif
+
+#ifndef AT_SUN_GID
 #define AT_SUN_GID      2002    /* Effective group ID.  */
+#endif
+
+#ifndef AT_SUN_RGID
 #define AT_SUN_RGID     2003    /* Real group ID.  */
+#endif
+
+#ifndef AT_SUN_LDELF
 #define AT_SUN_LDELF    2004    /* Dynamic linker's ELF header.  */
+#endif
+
+#ifndef AT_SUN_LDSHDR
 #define AT_SUN_LDSHDR   2005    /* Dynamic linker's section headers.  */
+#endif
+
+#ifndef AT_SUN_LDNAME
 #define AT_SUN_LDNAME   2006    /* String giving name of dynamic linker.  */
+#endif
+
+#ifndef AT_SUN_LPAGESZ
 #define AT_SUN_LPAGESZ  2007    /* Large pagesize.   */
+#endif
+
+#ifndef AT_SUN_PLATFORM
 #define AT_SUN_PLATFORM 2008    /* Platform name string.  */
+#endif
+
+#ifndef AT_SUN_HWCAP
 #define AT_SUN_HWCAP    2009	/* Machine dependent hints about
 				   processor capabilities.  */
+#endif
+
+#ifndef AT_SUN_IFLUSH
 #define AT_SUN_IFLUSH   2010    /* Should flush icache? */
+#endif
+
+#ifndef AT_SUN_CPU
 #define AT_SUN_CPU      2011    /* CPU name string.  */
+#endif
+
+#ifndef AT_SUN_EMUL_ENTRY
 #define AT_SUN_EMUL_ENTRY 2012	/* COFF entry point address.  */
+#endif
+
+#ifndef AT_SUN_EMUL_EXECFD
 #define AT_SUN_EMUL_EXECFD 2013	/* COFF executable file descriptor.  */
+#endif
+
+#ifndef AT_SUN_EXECNAME
 #define AT_SUN_EXECNAME 2014    /* Canonicalized file name given to execve.  */
+#endif
+
+#ifndef AT_SUN_MMU
 #define AT_SUN_MMU      2015    /* String for name of MMU module.   */
+#endif
+
+#ifndef AT_SUN_LDDATA
 #define AT_SUN_LDDATA   2016    /* Dynamic linker's data segment address.  */
-#define AT_SUN_AUXFLAGS	2017	/* AF_SUN_ flags passed from the kernel.  */
+#endif
 
+#ifndef AT_SUN_AUXFLAGS
+#define AT_SUN_AUXFLAGS	2017	/* AF_SUN_ flags passed from the kernel.  */
+#endif
 
 #endif /* _ELF_COMMON_H */