* Makefile.am (GENSCRIPTS): Pass prefix.

* Makefile.in: Regenerate.
	* genscripts.sh: Adjust for extra parameter.
	* emultempl/elf32.em (parse_ld_so_conf): Return true iff file
	exists.
	(check_ld_so_conf): Use ${prefix}/etc/ld.so.conf if it exists.
	* NEWS: Update.
This commit is contained in:
Alan Modra 2006-04-05 15:40:40 +00:00
parent c0d5a53d52
commit dfcffada0b
6 changed files with 42 additions and 20 deletions

View File

@ -1,3 +1,13 @@
2006-04-05 Alan Modra <amodra@bigpond.net.au>
* Makefile.am (GENSCRIPTS): Pass prefix.
* Makefile.in: Regenerate.
* genscripts.sh: Adjust for extra parameter.
* emultempl/elf32.em (parse_ld_so_conf): Return true iff file
exists.
(check_ld_so_conf): Use ${prefix}/etc/ld.so.conf if it exists.
* NEWS: Update.
2006-04-05 Richard Sandiford <richard@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>

View File

@ -475,7 +475,7 @@ stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
# These all start with e so 'make clean' can find them.
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
@TDIRS@

View File

@ -657,7 +657,7 @@ EMULATION_FILES = emultempl/pe.em emultempl/armcoff.em
POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES)
# These all start with e so 'make clean' can find them.
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
# We need this for automake to use YLWRAP.

View File

@ -2,8 +2,10 @@
* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems.
* Modify the Linux linker to seach /etc/ld.so.conf first before
checking default search directories for DT_NEEDED entries.
* Modify the Linux linker search order to better match ld.so search order.
Look for DT_NEEDED libraries in paths specified by ld.so.conf before
searching the default directories, rather than vice versa.
Use $prefix/etc/ld.so.conf if it exists, otherwise /etc/ld.so.conf.
* PE-COFF: Forward exports from DLL's can now be specified in .def files
passed directly to ld.

View File

@ -13,7 +13,7 @@ cat >e${EMULATION_NAME}.c <<EOF
/* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME}
Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005 Free Software Foundation, Inc.
2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
ELF support by Ian Lance Taylor <ian@cygnus.com>
@ -541,7 +541,7 @@ struct gld${EMULATION_NAME}_ld_so_conf
size_t len, alloc;
};
static void
static bfd_boolean
gld${EMULATION_NAME}_parse_ld_so_conf
(struct gld${EMULATION_NAME}_ld_so_conf *info, const char *filename);
@ -584,7 +584,7 @@ gld${EMULATION_NAME}_parse_ld_so_conf_include
free (newp);
}
static void
static bfd_boolean
gld${EMULATION_NAME}_parse_ld_so_conf
(struct gld${EMULATION_NAME}_ld_so_conf *info, const char *filename)
{
@ -593,7 +593,7 @@ gld${EMULATION_NAME}_parse_ld_so_conf
size_t linelen;
if (f == NULL)
return;
return FALSE;
linelen = 256;
line = xmalloc (linelen);
@ -691,6 +691,7 @@ gld${EMULATION_NAME}_parse_ld_so_conf
while (! feof (f));
free (line);
fclose (f);
return TRUE;
}
static bfd_boolean
@ -705,11 +706,17 @@ gld${EMULATION_NAME}_check_ld_so_conf (const char *name, int force)
char *tmppath;
struct gld${EMULATION_NAME}_ld_so_conf info;
tmppath = concat (ld_sysroot, "/etc/ld.so.conf", NULL);
info.path = NULL;
info.len = info.alloc = 0;
gld${EMULATION_NAME}_parse_ld_so_conf (&info, tmppath);
tmppath = concat (ld_sysroot, "${prefix}/etc/ld.so.conf", NULL);
if (!gld${EMULATION_NAME}_parse_ld_so_conf (&info, tmppath))
{
free (tmppath);
tmppath = concat (ld_sysroot, "/etc/ld.so.conf", NULL);
gld${EMULATION_NAME}_parse_ld_so_conf (&info, tmppath);
}
free (tmppath);
if (info.path)
{
char *d = gld${EMULATION_NAME}_add_sysroot (info.path);

View File

@ -4,6 +4,7 @@
# Usage: genscripts_extra.sh \
# srcdir \
# libdir \
# prefix \
# exec_prefix \
# host \
# target \
@ -22,6 +23,7 @@
# /sources/ld \
# /usr/local/lib \
# /usr/local \
# /usr/local \
# sparc-sun-sunos4.1.3 \
# sparc-sun-sunos4.1.3 \
# sparc-sun-sunos4.1.3 \
@ -59,17 +61,18 @@
srcdir=$1
libdir=$2
exec_prefix=$3
host=$4
target=$5
target_alias=$6
EMULATION_LIBPATH=$7
NATIVE_LIB_DIRS=$8
use_sysroot=$9
prefix=$3
exec_prefix=$4
host=$5
target=$6
target_alias=$7
EMULATION_LIBPATH=$8
NATIVE_LIB_DIRS=$9
shift 9
EMULATION_NAME=$1
TOOL_LIB=$2
CUSTOMIZER_SCRIPT=$3
use_sysroot=$1
EMULATION_NAME=$2
TOOL_LIB=$3
CUSTOMIZER_SCRIPT=$4
# Can't use ${TOOL_LIB:-$target_alias} here due to an Ultrix shell bug.
if [ "x${TOOL_LIB}" = "x" ] ; then