mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
* configure.host (sparc-*-sunos64*): Remove.
* ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com>
|
Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* configure.host (sparc-*-sunos64*): Remove.
|
||||||
|
* ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
|
||||||
|
|
||||||
* ldexp.c (exp_fold_tree): Don't warn about moving the location
|
* ldexp.c (exp_fold_tree): Don't warn about moving the location
|
||||||
counter backward in the absolute section.
|
counter backward in the absolute section.
|
||||||
|
|
||||||
|
103
ld/configure.host
Normal file
103
ld/configure.host
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# This is the linker host specific file. This is invoked by the
|
||||||
|
# autoconf generated configure script. Putting it in a separate shell
|
||||||
|
# file lets us skip running autoconf when modifying host specific
|
||||||
|
# information.
|
||||||
|
|
||||||
|
# This file sets the following shell variables:
|
||||||
|
# CC compiler to use (only if needed and not already set)
|
||||||
|
# HDEFINES host specific compiler flags
|
||||||
|
# HOSTING_CRT0 crt0.o file used for bootstrapping
|
||||||
|
# HOSTING_LIBS libraries used for bootstrapping
|
||||||
|
# NATIVE_LIB_DIRS library directories to search on this host
|
||||||
|
|
||||||
|
HDEFINES=
|
||||||
|
HOSTING_CRT0=/lib/crt0.o
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc'
|
||||||
|
NATIVE_LIB_DIRS=
|
||||||
|
|
||||||
|
case "${host}" in
|
||||||
|
|
||||||
|
alpha-*-*)
|
||||||
|
HOSTING_CRT0=/usr/ccs/lib/crt0.o
|
||||||
|
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-bsd* | i[345]86-*-freebsd* | i[345]86-*-netbsd*)
|
||||||
|
# The new BSD `make' has a bug: it doesn't pass empty arguments in
|
||||||
|
# shell commands. So we need to make this value non-empty in order
|
||||||
|
# for the genscripts.sh call to work. There's nothing magic about
|
||||||
|
# the value `/lib'; it's just a dummy.
|
||||||
|
NATIVE_LIB_DIRS = /lib
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-go32*)
|
||||||
|
test -z "${CC}" && CC="i386-go32-gcc -O2 -fno-omit-frame-pointer -Wl,-S"
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-sysv4*)
|
||||||
|
HOSTING_CRT0='/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` /usr/ccs/lib/crtn.o'
|
||||||
|
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-sysv*)
|
||||||
|
HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`'
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-solaris*)
|
||||||
|
HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crt1.o/'; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crti.o/'; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtn.o/'; fi`'
|
||||||
|
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-sco* | i[345]86-*-isc*)
|
||||||
|
HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` /lib/crtn.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-linux*)
|
||||||
|
HOSTING_CRT0=/usr/lib/crt0.o
|
||||||
|
;;
|
||||||
|
|
||||||
|
i[345]86-*-lynxos*)
|
||||||
|
HOSTING_CRT0=/lib/init1.o
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
mips-dec-bsd*)
|
||||||
|
HOSTING_CRT0=/usr/lib/crt0.o
|
||||||
|
;;
|
||||||
|
|
||||||
|
mips-sgi-irix4*)
|
||||||
|
HOSTING_CRT0=/usr/lib/crt1.o
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
m68*-*-lynxos*)
|
||||||
|
HOSTING_CRT0=/lib/init1.o
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
m68*-sun-*)
|
||||||
|
HOSTING_CRT0='/usr/lib/crt0.o /usr/lib/Fcrt1.o -L/usr/lib/fsoft.o'
|
||||||
|
;;
|
||||||
|
|
||||||
|
m88*-*-dgux*)
|
||||||
|
HDEFINES = -D__using_DGUX
|
||||||
|
HOSTING_CRT0=/lib/crt0.o -X
|
||||||
|
HOSTING_LIBS=/usr/sde/m88kbcs/lib/libc.a
|
||||||
|
;;
|
||||||
|
|
||||||
|
romp-*-*)
|
||||||
|
HDEFINES=-DNO_VARARGS
|
||||||
|
CC=${CC-gcc}
|
||||||
|
;;
|
||||||
|
|
||||||
|
sparc-*-solaris2*)
|
||||||
|
HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crt1.o/'; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crti.o/'; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
|
||||||
|
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtn.o/'; fi`'
|
||||||
|
NATIVE_LIB_DIRS=/usr/ccs/lib
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
19
ld/ldlang.c
19
ld/ldlang.c
@ -440,14 +440,23 @@ lang_memory_region_lookup (name)
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* This code used to always use the first region in the list as the
|
||||||
|
default region. I changed it to instead use a region
|
||||||
|
encompassing all of memory as the default region. This permits
|
||||||
|
NOLOAD sections to work reasonably without requiring a region.
|
||||||
|
People should specify what region they mean, if they really want
|
||||||
|
a region. */
|
||||||
if (strcmp (name, "*default*") == 0)
|
if (strcmp (name, "*default*") == 0)
|
||||||
{
|
{
|
||||||
/* This is the default region, dig out first one on the list */
|
|
||||||
if (lang_memory_region_list != (lang_memory_region_type *) NULL)
|
if (lang_memory_region_list != (lang_memory_region_type *) NULL)
|
||||||
{
|
{
|
||||||
return lang_memory_region_list;
|
return lang_memory_region_list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
lang_memory_region_type *new =
|
lang_memory_region_type *new =
|
||||||
(lang_memory_region_type *) stat_alloc (sizeof (lang_memory_region_type));
|
(lang_memory_region_type *) stat_alloc (sizeof (lang_memory_region_type));
|
||||||
@ -549,7 +558,7 @@ lang_map ()
|
|||||||
lang_memory_region_type *m;
|
lang_memory_region_type *m;
|
||||||
|
|
||||||
fprintf (config.map_file, "**MEMORY CONFIGURATION**\n\n");
|
fprintf (config.map_file, "**MEMORY CONFIGURATION**\n\n");
|
||||||
#ifdef HOST_64_BIT
|
#ifdef BFD64
|
||||||
fprintf (config.map_file, "name\t\torigin\t\tlength\t\tattributes\n");
|
fprintf (config.map_file, "name\t\torigin\t\tlength\t\tattributes\n");
|
||||||
#else
|
#else
|
||||||
fprintf (config.map_file,
|
fprintf (config.map_file,
|
||||||
@ -604,7 +613,6 @@ init_os (s)
|
|||||||
output_bfd->xvec->name, s->name);
|
output_bfd->xvec->name, s->name);
|
||||||
}
|
}
|
||||||
s->bfd_section->output_section = s->bfd_section;
|
s->bfd_section->output_section = s->bfd_section;
|
||||||
/* s->bfd_section->flags = s->flags;*/
|
|
||||||
|
|
||||||
/* We initialize an output sections output offset to minus its own */
|
/* We initialize an output sections output offset to minus its own */
|
||||||
/* vma to allow us to output a section through itself */
|
/* vma to allow us to output a section through itself */
|
||||||
@ -1874,7 +1882,12 @@ lang_size_sections (s, output_section_statement, prev, fill, dot, relax)
|
|||||||
}
|
}
|
||||||
dot += size;
|
dot += size;
|
||||||
output_section_statement->bfd_section->_raw_size += size;
|
output_section_statement->bfd_section->_raw_size += size;
|
||||||
|
/* The output section gets contents, and then we inspect for
|
||||||
|
any flags set in the input script which override any ALLOC */
|
||||||
output_section_statement->bfd_section->flags |= SEC_HAS_CONTENTS;
|
output_section_statement->bfd_section->flags |= SEC_HAS_CONTENTS;
|
||||||
|
if (!(output_section_statement->flags & SEC_NEVER_LOAD)) {
|
||||||
|
output_section_statement->bfd_section->flags |= SEC_ALLOC | SEC_LOAD;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user