You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

131 lines
4.1 KiB

Index: bfd/elf-eh-frame.c
--- bfd/elf-eh-frame.c.orig 2012-05-25 03:12:19.000000000 +0200
+++ bfd/elf-eh-frame.c 2012-10-28 13:24:35.000000000 +0100
@@ -913,9 +913,11 @@
goto success;
free_no_table:
+#if 0
(*info->callbacks->einfo)
(_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"),
abfd, sec);
+#endif
hdr_info->table = FALSE;
if (sec_info)
free (sec_info);
Index: bfd/elf.c
--- bfd/elf.c.orig 2012-07-24 23:06:57.000000000 +0200
+++ bfd/elf.c 2012-10-28 13:24:35.000000000 +0100
@@ -1925,6 +1925,11 @@
elf_tdata (abfd)->dynverref_hdr = *hdr;
return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+ case SHT_SUNW_syminfo:
+ /* case SHT_SUNW_signature: conflicts with new SHT_GNU_HASH in Binutils 2.18 */
+ case SHT_SUNW_dof:
+ return TRUE;
+
case SHT_SHLIB:
return TRUE;
@@ -5199,6 +5204,12 @@
else
i_ehdrp->e_type = ET_REL;
+ /* OpenPKG platform branding BEGIN */
+#if defined(OPENPKG_OS_FREEBSD)
+ i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
+#endif
+ /* OpenPKG platform branding END */
+
switch (bfd_get_arch (abfd))
{
case bfd_arch_unknown:
Index: bfd/elf64-x86-64.c
--- bfd/elf64-x86-64.c.orig 2012-06-29 23:54:44.000000000 +0200
+++ bfd/elf64-x86-64.c 2012-10-28 13:27:44.000000000 +0100
@@ -508,8 +508,13 @@
/* The name of the dynamic interpreter. This is put in the .interp
section. */
+#if defined(OPENPKG_OS_SOLARIS)
+#define ELF64_DYNAMIC_INTERPRETER "/lib/amd64/ld.so.1"
+#define ELF32_DYNAMIC_INTERPRETER "/lib/ld32.so.1"
+#else
#define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
#define ELF32_DYNAMIC_INTERPRETER "/lib/ldx32.so.1"
+#endif
/* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
copying dynamic variables from a shared lib into an app's dynbss
Index: gas/asintl.h
--- gas/asintl.h.orig 2007-07-03 13:01:02.000000000 +0200
+++ gas/asintl.h 2012-10-28 13:24:35.000000000 +0100
@@ -20,6 +20,11 @@
Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
+#ifndef ENABLE_NLS
+# define _LIBINTL_H
+# define _LIBGETTEXT_H
+#endif
+
#ifdef HAVE_LOCALE_H
# ifndef ENABLE_NLS
/* The Solaris version of locale.h always includes libintl.h. If we have
Index: include/elf/common.h
--- include/elf/common.h.orig 2012-09-04 14:53:47.000000000 +0200
+++ include/elf/common.h 2012-10-28 13:24:35.000000000 +0100
@@ -479,6 +479,9 @@
#define SHT_SUNW_verdef 0x6ffffffd /* Versions defined by file */
#define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */
#define SHT_SUNW_versym 0x6fffffff /* Symbol versions */
+#define SHT_SUNW_syminfo 0x6ffffffc /* Symbol information */
+#define SHT_SUNW_signature 0x6ffffff6 /* Solaris Cryptographic Framework: Digital Signature */
+#define SHT_SUNW_dof 0x6ffffff4 /* Solaris DTrace Object Format */
#define SHT_GNU_verdef SHT_SUNW_verdef
#define SHT_GNU_verneed SHT_SUNW_verneed
Index: ld/Makefile.in
--- ld/Makefile.in.orig 2012-09-04 14:53:47.000000000 +0200
+++ ld/Makefile.in 2012-10-28 13:24:35.000000000 +0100
@@ -367,7 +367,7 @@
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
-scriptdir = $(tooldir)/lib
+scriptdir = $(libdir)
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
Index: ld/ld.h
--- ld/ld.h.orig 2012-07-10 08:50:55.000000000 +0200
+++ ld/ld.h 2012-10-28 13:24:35.000000000 +0100
@@ -23,6 +23,11 @@
#ifndef LD_H
#define LD_H
+#ifndef ENABLE_NLS
+# define _LIBINTL_H
+# define _LIBGETTEXT_H
+#endif
+
#ifdef HAVE_LOCALE_H
#endif
#ifndef SEEK_CUR
Index: libiberty/fibheap.c
--- libiberty/fibheap.c.orig 2009-05-29 05:01:15.000000000 +0200
+++ libiberty/fibheap.c 2012-10-28 13:24:35.000000000 +0100
@@ -34,8 +34,11 @@
#include "libiberty.h"
#include "fibheap.h"
-
+#ifdef LONG_MIN
#define FIBHEAPKEY_MIN LONG_MIN
+#else
+#define FIBHEAPKEY_MIN (-0x7fffffffL - 1)
+#endif
static void fibheap_ins_root (fibheap_t, fibnode_t);
static void fibheap_rem_root (fibheap_t, fibnode_t);