Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 80280 Details for
Bug 123496
Add ldhints patches to binutils 2.16*
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
binutils-2.16.1-ldhints.patch
binutils-2.16.1-ldhints.patch (text/plain), 3.37 KB, created by
Diego Elio Pettenò (RETIRED)
on 2006-02-20 06:34:25 UTC
(
hide
)
Description:
binutils-2.16.1-ldhints.patch
Filename:
MIME Type:
Creator:
Diego Elio Pettenò (RETIRED)
Created:
2006-02-20 06:34:25 UTC
Size:
3.37 KB
patch
obsolete
>Index: binutils-2.16.1/ld/Makefile.in >=================================================================== >--- binutils-2.16.1.orig/ld/Makefile.in >+++ binutils-2.16.1/ld/Makefile.in >@@ -347,6 +347,7 @@ ALL_EMULATIONS = \ > ei386beos.o \ > ei386bsd.o \ > ei386coff.o \ >+ ei386freebsd.o \ > ei386go32.o \ > ei386linux.o \ > ei386lynx.o \ >@@ -1711,6 +1712,9 @@ ei386bsd.c: $(srcdir)/emulparams/i386bsd > ei386coff.c: $(srcdir)/emulparams/i386coff.sh \ > $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386coff.sc ${GEN_DEPENDS} > ${GENSCRIPTS} i386coff "$(tdir_i386coff)" >+ei386freebsd.c: $(srcdir)/emulparams/i386freebsd.sh \ >+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} >+ ${GENSCRIPTS} i386freebsd "$(tdir_i386freebsd)" > ei386go32.c: $(srcdir)/emulparams/i386go32.sh \ > $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS} > ${GENSCRIPTS} i386go32 "$(tdir_i386go32)" >Index: binutils-2.16.1/ld/emulparams/i386freebsd.sh >=================================================================== >--- /dev/null >+++ binutils-2.16.1/ld/emulparams/i386freebsd.sh >@@ -0,0 +1,6 @@ >+SCRIPT_NAME=aout >+TEXT_START_ADDR=0x1020 >+OUTPUT_FORMAT="a.out-i386-freebsd" >+TARGET_PAGE_SIZE=0x1000 >+ARCH=i386 >+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;' >Index: binutils-2.16.1/ld/emultempl/elf32.em >=================================================================== >--- binutils-2.16.1.orig/ld/emultempl/elf32.em >+++ binutils-2.16.1/ld/emultempl/elf32.em >@@ -522,6 +522,69 @@ gld${EMULATION_NAME}_add_sysroot (const > > EOF > case ${target} in >+ *-*-freebsd*) >+ cat >>e${EMULATION_NAME}.c <<EOF >+/* >+ * Read the system search path the FreeBSD way rather than like Linux. >+ */ >+#include <elf-hints.h> >+ >+static bfd_boolean >+gld${EMULATION_NAME}_check_ld_elf_hints (struct dt_needed *n, int force) >+{ >+ const char *name = n->name; >+ static bfd_boolean initialized; >+ static char *ld_elf_hints; >+ >+ if (! initialized) >+ { >+ FILE *f; >+ char *tmppath; >+ >+ tmppath = concat (ld_sysroot, _PATH_ELF_HINTS, NULL); >+ f = fopen (tmppath, FOPEN_RB); >+ free (tmppath); >+ if (f != NULL) >+ { >+ struct elfhints_hdr hdr; >+ >+ if (fread(&hdr, 1, sizeof(hdr), f) == sizeof(hdr) && >+ hdr.magic == ELFHINTS_MAGIC && >+ hdr.version == 1) >+ { >+ if (fseek(f, hdr.strtab + hdr.dirlist, SEEK_SET) != -1) >+ { >+ char *b; >+ >+ b = (char *) xmalloc (hdr.dirlistlen + 1); >+ if (fread(b, 1, hdr.dirlistlen + 1, f) != >+ hdr.dirlistlen + 1) >+ { >+ free(b); >+ b = NULL; >+ } >+ else >+ { >+ ld_elf_hints = gld${EMULATION_NAME}_add_sysroot (b); >+ free (b); >+ } >+ } >+ } >+ fclose (f); >+ } >+ >+ initialized = TRUE; >+ } >+ >+ if (ld_elf_hints == NULL) >+ return FALSE; >+ >+ return gld${EMULATION_NAME}_search_needed (ld_elf_hints, n, force); >+} >+EOF >+ # FreeBSD >+ ;; >+ > *-*-linux-gnu*) > cat >>e${EMULATION_NAME}.c <<EOF > /* For a native linker, check the file /etc/ld.so.conf for directories >@@ -932,6 +995,14 @@ cat >>e${EMULATION_NAME}.c <<EOF > EOF > if [ "x${USE_LIBPATH}" = xyes ] ; then > case ${target} in >+ *-*-freebsd*) >+ cat >>e${EMULATION_NAME}.c <<EOF >+ if (gld${EMULATION_NAME}_check_ld_elf_hints (&n, force)) >+ break; >+EOF >+ # FreeBSD >+ ;; >+ > *-*-linux-gnu*) > cat >>e${EMULATION_NAME}.c <<EOF > if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 123496
:
80280
|
80281
|
80306
|
80307