Commit graph

983 commits

Author SHA1 Message Date
Christopher Faylor
54d4efe3df * ld/pe-dll.c (autofilter_symbollist): Add cygwin_crt0. 2003-01-05 03:04:10 +00:00
Daniel Jacobowitz
cdc0d45e15 * Makefile.am (ldmain.o): Pass BINDIR.
* Makefile.in: Regenerated.
	* ldmain.c (set_scripts_dir): Use make_relative_prefix for the first
	search path.
2003-01-04 20:40:28 +00:00
Stan Cox
e09a710638 * Makefile.am (ALL_EMULATIONS): Add eelf32iq2000.o.
(eelf32iq2000.c): New target.
	* Makefile.in: Regenerate.
	* configure.tgt: Handle iq2000-*-elf.
	* emulparams/elf32iq10.sh: New file.
	* emulparams/elf32iq2000.sh: New file.
	* scripttempl/iq2000.sc: New file.
2003-01-04 02:04:44 +00:00
Nick Clifton
1c43e6e58a Add do_pseudo_reloc and _pei386_runtime_relocator to the exclude list. 2003-01-02 10:26:41 +00:00
Kazu Hirata
396a246719 * ldfile.c: Fix comment typos.
* ldlang.c: Likewise.
	* mri.c: Likewise.
	* pe-dll.c: Likewise.
2003-01-02 03:53:53 +00:00
Daniel Jacobowitz
980c112ced Suggested by Manfred Hollstein <manfred.h@gmx.net>:
* Makefile.am (ld.1): Depend on configdoc.texi
	and ldver.texi.
	* Makefile.in: Regenerated.
2003-01-02 00:47:44 +00:00
Nick Clifton
2469cfa284 Add support for msp430. 2002-12-30 19:25:13 +00:00
Nick Clifton
3f8173588e (HAVE_REALPATH): New entry.
(HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
2002-12-30 12:37:58 +00:00
Nick Clifton
dc8465bf50 New win32 topics: 'symbol aliasing' and 'export dll symbols'. 2002-12-30 11:44:51 +00:00
Alan Modra
d5cd393307 * ldmain.c (main): Init "strip_discarded".
* lexsup.c (OPTION_STRIP_DISCARDED): Define.
	(OPTION_NO_STRIP_DISCARDED): Define.
	(ld_options): Add "strip-discarded" and "no-strip-discarded".
	(parse_args): Handle them.
2002-12-23 12:05:38 +00:00
Nick Clifton
312b768e2f Change linker's default behaviour - it will now reject binary files whoes
architecture it does not recognise, unless it has explicitly told to accept
them.
2002-12-23 10:45:03 +00:00
Alan Modra
b506760271 * ldmain.c (main): Re-order link_info initialization. Init all
fields.
2002-12-19 23:11:19 +00:00
Nick Clifton
69da35b57a Clarify and extend the documentation in the Machine Dependent, WIN32 section. 2002-12-19 17:25:02 +00:00
Nick Clifton
0bc4911d08 Add win32 library search path. 2002-12-18 16:56:19 +00:00
Nick Clifton
2ca22b0314 Add win32 machine depending section. 2002-12-18 16:25:02 +00:00
Nick Clifton
4cd898632a Don't search for data import when auto-import is disabled. 2002-12-17 12:16:38 +00:00
Nick Clifton
2a8ac465c4 Use LD_PATHMAX+1 to account for trailing '\0'. 2002-12-17 11:01:25 +00:00
Nick Clifton
a08a0d635b Duplicate entry for --compact-implib so that it is not confused with -c. 2002-12-17 10:03:52 +00:00
Nick Clifton
939ba9d0fc Add support to skip import libraries for performance reasons and instead
use the direct auto-import of dll's
2002-12-16 18:02:16 +00:00
Alan Modra
1e5e54006d * emultempl/elf32.em (struct orphan_save): Add os_tail field.
(gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement
	list too.
2002-12-10 03:34:43 +00:00
Alan Modra
f53154de5a * ldlang.h: Formatting. 2002-12-08 03:56:04 +00:00
Alan Modra
18794b0c44 * ldlang.c (init_os): Ensure sections mentioned in load_base
are initialized.
2002-12-06 22:33:18 +00:00
Alan Modra
36478e9d6f * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set
load_base for orphans that follow a section with load_base set.
2002-12-04 23:56:14 +00:00
H.J. Lu
a981ed6f5c 2002-12-01 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Remove the extra `;' in sample version script.
2002-12-02 00:40:28 +00:00
Alan Modra
08a1b063ad * configure.host: Correct dynamic-linker for powerpc64 hosts. 2002-11-30 09:00:36 +00:00
Alan Modra
4a1359d7a7 * Makefile.am (eelf32ppcwindiss.c): Correct dependencies.
* Makefile.in: Regenerate.
2002-11-30 08:56:22 +00:00
Alan Modra
b34976b65a s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
comparisons of bfd_boolean vars with TRUE/FALSE.  Formatting.
2002-11-30 08:39:46 +00:00
David O'Brien
3b70b24ee4 2002-11-27 David O'Brien <obrien@FreeBSD.org>
* configure.host: Fix generic FreeBSD configuration entry.
2002-11-28 02:10:38 +00:00
H.J. Lu
7c9c73bedd 2002-11-27 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Add the missing `;' to sample version scripts.
2002-11-27 19:42:10 +00:00
Alan Modra
1a3fdaa703 * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
Also move some changelog entries to where they belong.
2002-11-20 01:02:44 +00:00
Svein Seldal
48c5eb8a70 TIC4X testcase commit
* binutils/testsuite/binutils-all/objcopy.exp: Disable tic4x
	from test
	* binutils/testsuite/binutils-all/objdump.exp: Setup proper
	values for tic4x testcase
	* gas/testsuite/gas/all/gas.exp: Setup for tic4x testcase
	* gas/testsuite/gas/macros/macros.exp: Ditto
	* gas/testsuite/gas/all/gas.exp: Setup for tic4x testcase
	* gas/testsuite/gas/macros/macros.exp: Ditto
	* gas/testsuite/gas/tic4x: New tic4x gas testsuite directory
	* ld/testsuite/ld-scripts/script.exp: Setup for tic4x testcase
2002-11-18 08:28:44 +00:00
Nick Clifton
2fa9fc65a5 Add --enable-auto-import extension. 2002-11-14 18:03:17 +00:00
Alan Modra
c4c4121963 * ldlang.c (lang_add_section): Discard debugging sections that have
been marked SEC_EXCLUDE.
2002-11-12 11:31:43 +00:00
Nick Clifton
cd24c22246 Add new/updated Danish translations 2002-11-12 10:08:25 +00:00
Alan Modra
836c6af1fd * emultempl/ppc64elf.em (ppc_before_allocation): New function.
(LDEMUL_BEFORE_ALLOCATION): Define.
	(gld${EMULATION_NAME}_finish): Run discard_info for relocatable
	linking.
	* emultemp/hppaelf.em ((gld${EMULATION_NAME}_finish): Likewise.
2002-11-12 07:56:38 +00:00
Christopher Faylor
f8b0dbb817 * configure.tgt (LIB_PATH): Default to searching w32api directory under cygwin. 2002-11-12 03:48:43 +00:00
Christopher Faylor
9e8d33e774 * pe-dll.c (autofilter_liblist): add libmingwex and libgcj to the list of
restricted auto-export libs.
2002-11-11 21:16:28 +00:00
Christopher Faylor
75c2ea5b08 * pe-dll.c (autofilter_liblist): Generalize library names to catch more
creative library naming instances like, e.g., libstdc++-2.a.
2002-11-11 17:42:36 +00:00
Alexandre Oliva
426af4fec2 * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Define.
* emulparams/elf64btsmip.sh (TEXT_DYNAMIC): Likewise.
2002-11-07 00:46:59 +00:00
Nick Clifton
c9e3887989 Adds support for fastcall symbols as used on Microsoft Windows platforms
(i386)
2002-11-06 19:36:20 +00:00
Daniel Jacobowitz
df2a731323 * emultempl/aix.em: Use include <> for generated headers.
* emultempl/beos.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/pe.em: Likewise.
	* ldctor.c: Likewise.
	* ldexp.c: Likewise.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldlex.c: Likewise.
	* ldlex.l: Likewise.
	* ldmain.c: Likewise.
	* ldmisc.c: Likewise.
	* ldwrite.c: Likewise.
	* lexsup.c: Likewise.
	* mri.c: Likewise.
	* pe-dll.c: Likewise.
2002-10-30 03:57:39 +00:00
Jakub Jelinek
a8927cfd1a * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
sections into .rel{,a}.dyn.
2002-10-23 20:13:01 +00:00
Nick Clifton
63fd3b826b Add new command line option "--no-omagic" which undoes the effects of -N. 2002-10-23 13:24:10 +00:00
Nick Clifton
3637916721 (__RUNTIME_PSEUDO_RELOC_LIST__, __RUNTIME_PSEUDO_RELOC_LIST_END__): Add
only when relocating.
2002-10-23 11:21:27 +00:00
Alexandre Oliva
3ffe58d945 * emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
emulation name.  Set LIB_PATH only for native tools, and
search the ABI-specific versions of NATIVE_LIB_DIRS before the
.../lib variants, not instead of them.  Mostly copied from...
* emulparams/elf32ppc.sh: ... here.  Fixed typo.
* emulparams/elf64bmip-defs.sh: Backed out.
* emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
* emulparams/elf64btsmip.sh: Likewise.
(DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
TEXT_DYNAMIC): Removed.
2002-10-22 22:13:26 +00:00
Alexandre Oliva
e316b3a0ed * emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
(GENERATE_SHLIB_SCRIPT): Set to yes.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
* emulparams/elf32bmipn32.sh: here.
(GENERATE_SHLIB_SCRIPT): Deleted as redundant.
* emulparams/elf32btsmipn32.sh: Delete redundant unsets.
* emulparams/elf64bmip-defs.sh: New file.  Extend
elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
* emulparams/elf64bmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
settings.
(WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
* emulparams/elf64btsmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
2002-10-17 21:54:44 +00:00
Jakub Jelinek
f52d1d6405 * config.bfd (s390-*-linux*): Add targ64_selvecs.
(s390x-*-linux*): Add targ_selvecs.

	* config.table: Use mh-s390pic for s390x too.

	* configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
	(s390-*-linux*): Add elf64_s390 emulation if want64.
	* emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
	genscript.sh changes.
	* emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
	* emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
2002-10-16 19:54:54 +00:00
Alan Modra
03bdc40405 * ldlang.c (load_symbols): Revert last change. 2002-10-15 00:09:02 +00:00
Alan Modra
7c519c12a3 * ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
just_syms_flag.
	(lang_reasonable_defaults): Don't compare against false.
	(size_input_section): Likewise.
	(lang_size_sections_1): Likewise.
	(lang_do_assignments): Likewise.
	(lang_add_output): Likewise.
2002-10-14 13:08:19 +00:00
Alan Modra
c6db2f0545 * Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
	* ldver.c: #include "bfdver.h".
2002-10-14 12:09:18 +00:00
Stephane Carrez
e1026ffb69 * scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
.finiN section.
	* scripttempl/elfm68hc12.sc: Likewise.
2002-10-13 09:29:35 +00:00
Alan Modra
fe213ce218 * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer. 2002-10-11 08:59:24 +00:00
Alan Modra
2d801b0fa0 * ldgram.y (memory_spec): Provide empty action.
(section <NAME>): Likewise.
2002-10-11 07:39:07 +00:00
Jakub Jelinek
599917b82b * ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
they have OUTPUT_FORMAT not matching actual output format.
	* ldlang.c (lang_get_output_target): New function.
	(open_output): Use it.
	* ldlang.h (lang_get_output_target): New prototype.
2002-10-10 15:59:10 +00:00
Alan Modra
24cdb50ae8 * emultempl/elf32.em (output_rel_find): Prefer .rel script sections
when orphan is .rel, .rela when orphan is .rela.
	(gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
	first.  Remove outsecname var.
2002-10-10 02:52:27 +00:00
Stephen Clarke
a2b3c63041 * Makefile.am: Add eshelf32_linux.o and
eshlelf32_linux.o, new emulations for sh64 Linux.
* Makefile.in: Regenerate.
* configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
* emulparams/shelf32_linux.sh: New file.
* emulparams/shlelf32_linux.sh: New file.
2002-10-09 19:09:59 +00:00
H.J. Lu
c04c958616 2002-10-08 H.J. Lu <hjl@gnu.org>
* ldlang.c (lang_file_exist): Removed.
	(new_afile): Revert the last change.
	* ldlang.h (lang_file_exist): Removed.
	* lexsup.c (parse_args): Revert the last change.
2002-10-08 20:12:45 +00:00
Nick Clifton
39cebe23da Don't re-export auto-import symbols. 2002-10-07 16:36:11 +00:00
Nick Clifton
53b2a62f07 Abort if the filename to be added matches the linker output filename. 2002-10-07 16:08:21 +00:00
Alan Modra
a86a09cc1b * emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000. 2002-10-02 02:21:52 +00:00
Alan Modra
1bf0a4d93e * scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
2002-09-30 09:31:31 +00:00
H.J. Lu
42f986191b No need to set OTHER_GOT_RELOC_SECTIONS in emulparams/elf32ppclinux.sh. 2002-09-30 04:23:40 +00:00
Alan Modra
ba49312244 * emultempl/elf32.em (output_rel_find): Always place orphan loadable
reloc sections just before .rel.plt/.rela.plt.
	(gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
	Only put loadable reloc sections in hold_rel.
2002-09-30 03:34:46 +00:00
H.J. Lu
fdb9132d5f 2002-09-29 H.J. Lu <hjl@gnu.org>
* ld/emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
	* ld/emulparams/elf32ppclinux.sh (OTHER_GOT_RELOC_SECTIONS): New.
2002-09-29 23:59:49 +00:00
Daniel Jacobowitz
ff3268267c From "Anita Kulkarni" <AnitaK@kpit.com>
* scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
        sections.
2002-09-25 17:06:09 +00:00
Alan Modra
1ddd7b13ed * genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
TARGET_PAGE_SIZE.
	* scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
	SEGMENT_SIZE alignment.
	* emulparams/elf64ppc.sh (DATA_ADDR): Delete.
	(SEGMENT_SIZE): Define.
2002-09-25 07:21:08 +00:00
Alan Modra
0ae1cf52b2 * ldexp.c (fold_unary): New. Split out from exp_fold_tree.
(fold_binary): Correct abs - non-abs case.
	(fold_trinary): New.  Split out from exp_fold_tree.
2002-09-25 02:42:13 +00:00
Alan Modra
06143382c6 * emulparams/elf64ppc.sh (DATA_ADDR): Define.
* emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
	for start of .data, instead align up to 256M boundary.
	* scripttempl/aix.sc: Likewise.
2002-09-24 04:02:03 +00:00
DJ Delorie
8e616ecc6b * scripttempl/i386go32.sc: Handle bss unique sections. 2002-09-23 11:36:15 +00:00
Alan Modra
5cfb2bb208 * ldmisc.c (vfinfo <%C,%D,%G>): Always output bfd, section and offset. 2002-09-21 14:14:25 +00:00
Stan Cox
dd2e090509 * emulparams/elf32bmipn32-defs.sh: New file.
* emulparams/elf32bmipn32.sh: Use elf32bmipn32-defs.sh.
	* emulparams/elf32btsmipn32.sh: Likewise.
	* emulparams/elf64bmip.sh: Likewise.
	* emulparams/elf64btsmip.sh: Likewise.
2002-09-18 01:54:37 +00:00
David O'Brien
4ada7262d0 2002-09-16 Bruno Haible <bruno@clisp.org>
* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
	by a target variant implementation.
	* elf64-alpha.c: Likewise.
	* elf32-i386-fbsd.c: New file.
	* elf64-alpha-fbsd.c: New file.
	* targets.c: Support bfd_elf32_i386_freebsd_vec and
	bfd_elf64_alpha_freebsd_vec.
	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
	bfd_elf64_alpha_freebsd_vec.
	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.

	* config/tc-i386.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386".
	* config/tc-i386.c (i386_target_format): Likewise.
	* config/tc-alpha.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha".

	* emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
	elf32-i386-freebsd.
	* emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
	elf64-alpha-freebsd.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20020715021113.GJ30362@bubble.sa.bigpond.net.au>
2002-09-17 02:24:40 +00:00
Nick Clifton
004d9cafa4 New TI port supports both C4x and C3x series of DSPs. 2002-09-11 14:42:45 +00:00
Nick Clifton
e09f439535 Update translations 2002-09-11 13:52:17 +00:00
Jeff Law
0b3a6a28f9 * configure.tgt (h8300-*-hms*, h8500-*-hms*): Restore. 2002-09-06 20:42:40 +00:00
Nick Clifton
67010b4679 Add EXTERN references to __ctbpm __gp and __ep.
Define TEMPLATE_NAME.
Revert bogus change to ldexp.c
2002-09-02 17:03:30 +00:00
Nick Clifton
3e369e968e Fix PROVIDE 2002-09-02 14:46:56 +00:00
Nick Clifton
5435462c55 Update description to reflect D10V TS3 board. 2002-08-30 11:34:40 +00:00
Alan Modra
5c368657dc * emulparams/elf32ppc.sh (ARCH): Set to "powerpc:common". 2002-08-30 08:30:41 +00:00
Nick Clifton
026df7c5e6 Add TMS320C4x support 2002-08-28 10:38:51 +00:00
Alan Modra
c89e8944a4 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,
strtoul and strtoull with bfd_scan_vma.
	(gld${EMULATION_NAME}_read_file): Likewise.
2002-08-28 01:55:46 +00:00
Alan Modra
6459ecfa96 * configure.tgt: Remove h8[35]00-*-hms*. Add h8500-*-rtems*. 2002-08-28 00:10:47 +00:00
Nick Clifton
ad5211bec5 Handle .rdata_runtime_pseudo_reloc sections. 2002-08-27 11:12:53 +00:00
Nick Clifton
88f7bcd5a7 Revert ARM linker patch and apply similar patch to bfd instead 2002-08-27 11:01:55 +00:00
Nick Clifton
8e523c2334 Add --with-lib-patch configure switch. 2002-08-23 08:03:32 +00:00
Nick Clifton
d9a7f7ab85 Set the last bit of DT_INIT and DT_FINI depending on the type of the function. 2002-08-22 19:11:51 +00:00
Nick Clifton
ed71e1110d Add sh-nto support 2002-08-22 17:27:20 +00:00
Alan Modra
7abb6dea2c * ldlang.c (offsetof): Define if not defined. 2002-08-20 23:48:18 +00:00
H.J. Lu
e92290077e Always enable 64bit targets for 32bit Linux/mips. 2002-08-14 15:05:41 +00:00
Alan Modra
3c6706bb5f * ld.texinfo (ALIGN): Remove power of 2 restriction. 2002-08-13 02:27:11 +00:00
Alan Modra
c553bb910d * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.
(MAXPAGESIZE): Set to 1.

	* ld.h (ALIGN_N): Delete.
	* ldexp.h (align_n): Declare.
	* ldexp.c (align_n): New function.
	(fold_binary): Use align_n instead of ALIGN_N.
	(exp_fold_tree): Likewise.
	* ldlang.c (lang_size_sections_1): Likewise.
	(lang_one_common): Likewise.
2002-08-13 02:08:26 +00:00
Nick Clifton
59bc061d4b Add QNX Neutrino PowerPC support and common up QNX functions 2002-08-09 15:38:24 +00:00
H.J. Lu
3194163592 Check symbols with undefine version. 2002-08-08 03:50:18 +00:00
Nick Clifton
2004afbc1d Only search for an interworking bfd if there are input bfds. 2002-08-07 15:22:41 +00:00
Alan Modra
7fc44b9cd6 * emultempl/aix.em (gld*_before_parse): Set default arch. Reverts
2002-05-10 change.
2002-08-06 11:40:30 +00:00
Nick Clifton
24a1ba0f48 Revert Adam Nemet's THUMB PLT patch 2002-08-01 14:03:01 +00:00
H.J. Lu
ebc6e014ba 2002-07-31 H.J. Lu <hjl@gnu.org>
* configure.tgt (powerpc*-*-linux*): Enable elf64ppc for
	--enable-64-bit-bfd.
2002-08-01 06:29:44 +00:00
H.J. Lu
39a2a3eb35 Enable x86-64 for Linux/i386 if 64bit BFD is selected. 2002-08-01 06:24:53 +00:00
H.J. Lu
a0dfa6a805 Enable 64bit emulations for Linux/mips if 64bit BFD is selected. 2002-07-31 22:26:53 +00:00
Nick Clifton
f7c33884fa Add new field to bfd_link structure and use it to control how common symbols
are extracted from archives.
2002-07-31 12:50:09 +00:00
Nick Clifton
8f64befb29 Add support for Thumb PLT entries with interworking 2002-07-31 12:04:47 +00:00
Nick Clifton
500800ca01 Retroactively add entry for Lars Brinkhoff's contribution of the PDP-11 and
2.11BSD a.out support.
2002-07-31 09:59:03 +00:00
Thiemo Seufer
7808a785c5 * Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
for n32 ABI support.
	* Makefile.in: Regenerate.
	* configure.tgt (mips64*el-*-linux-gnu*,mips64*-*-linux-gnu*): Add
	n32 ABI emulations for these 64 bit targets.
	* emulparams/elf32bmipn32.sh: Expand comment.
	* emulparams/elf32btsmipn32.sh: New file, for traditional big endian
	n32 ABI.
	* emulparams/elf32ltsmipn32.sh: Likewise for little endian.
2002-07-30 23:48:30 +00:00
Nick Clifton
7e392df659 Add arm-*-nto port. 2002-07-30 17:32:30 +00:00
Jakub Jelinek
704afa601f * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
* ldlang.c (lang_add_section): Don't turn .tbss into normal sections
	for relocatable link.
	(lang_size_sections_1): Don't make .tbss zero size for relocatable
	link.
2002-07-30 14:28:55 +00:00
Bernd Schmidt
7dcd22c276 Change from OTHER_RELOCATING_SECTIONS to STACK_ADDR in elf32frv.sh 2002-07-26 11:14:04 +00:00
Nick Clifton
219576a4db New translations 2002-07-25 10:31:28 +00:00
Nick Clifton
ff3063f557 Update Spanish and Swedish translations 2002-07-24 09:34:08 +00:00
Alan Modra
a59f3d35c8 Add missing 2001-09-29 entry 2002-07-24 06:45:02 +00:00
H.J. Lu
d11032092d Fix a typo. 2002-07-24 06:42:54 +00:00
Nick Clifton
0461a601af update translations. 2002-07-23 09:58:05 +00:00
Alan Modra
25844aaec2 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
bomb on /DISCARD/ input section.
	* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
	* emultempl/mmo.em (mmo_place_orphan): Likewise.
2002-07-20 13:41:11 +00:00
Hans-Peter Nilsson
3595bd6e74 * emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
output section.
2002-07-19 02:56:59 +00:00
Nick Clifton
cf88bb9f09 Add IP2k support to BFD and LD 2002-07-17 14:15:52 +00:00
Nick Clifton
2cbb2eefe2 Add 'Chnages in 2.13' to NEWS files. 2002-07-16 07:58:34 +00:00
H.J. Lu
96a94295f2 bfd/
2002-07-14  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_link_assign_sym_version): Hide the default
	definition if there is a hidden versioned definition.

ld/
2002-07-14  H.J. Lu <hjl@gnu.org>

	* ld.texinfo: Document a .symver takes precedence over a
	version script.
2002-07-15 02:23:26 +00:00
Alan Modra
120d20f266 * emulparams/elf64ppc.sh (ARCH): Set to powerpc:common64.
(COMMONPAGESIZE): Define.
2002-07-12 06:48:54 +00:00
Alan Modra
0d2ddeb220 * emulparams/hppanbsd.sh: Remark that hppaobsd.sh references this file. 2002-07-09 08:13:06 +00:00
Alan Modra
554690edf3 oops, forgot to commit. 2002-07-09 07:49:49 +00:00
Alan Modra
34786259b8 * ldlang.c (print_wild_statement): Fix output formatting. 2002-07-05 12:54:28 +00:00
Alan Modra
4bd5a3935b * ldlang.c: (strip_excluded_output_sections): New function.
(lang_process): Call it.
	(lang_size_sections_1): Revert 2002-06-10 change.
2002-07-04 14:41:01 +00:00
Alan Modra
ce4f738593 * Makefile.am (check-DEJAGNU): Revert 2002-06-25 change.
Run "make dep-am".
	* Makefile.in: Regenerate.
2002-07-02 23:56:53 +00:00
Alan Modra
71daf8b446 * ldfile.c (ldfile_try_open_bfd): Formatting. 2002-07-02 04:26:39 +00:00
Alan Modra
b7b482a3f5 * ldmisc.c (demangle): Move so that it doesn't intrude between
vfinfo comment and body.  Add comment.
2002-07-02 04:21:57 +00:00
Alan Modra
29e2951eb7 * emulparams/vax.sh (OUTPUT_FORMAT): Use a.out-vax-bsd format. 2002-07-01 08:32:30 +00:00
Alan Modra
e3e942e990 * ldlang.h (entry_sym): Make it a struct bfd_sym_chain.
* ldlang.c (entry_sym): Likewise.
	(ldlang_undef_chain_list_type): Likewise.
	(lang_finish): Adjust references to entry_symbol.
	(lang_add_entry): Likewise.
	(lang_gc_sections): Use link_info.gc_sym_list.
	(lang_process): Set link_info.gc_sym_list.
	* ldlex.l: Include bfdlink.h.
	* ldmain.c (main): Init link_info.gc_sym_list.
	* emultempl/aix.em: Adjust references to entry_symbol.
	* emultempl/armcoff.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/ppc64elf.em (ppc_after_open): New function.
	(LDEMUL_AFTER_OPEN): Define.
	* emulparams/elf64ppc.sh: KEEP .opd sections.
2002-07-01 08:07:31 +00:00
Stephane Carrez
a66c0f2c3b * emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
* emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
	* emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
	(EEPROM_START_ADDR): Define.
	(EEPROM_MEMORY): Define.
	* emulparams/m68hc12elf.sh: Likewise.
	* scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
	section to put soft registers in .page0.
	* scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
2002-06-29 10:33:45 +00:00
Jeff Law
2b67cf0053 * emulparams/hppa64linux.sh (OTHER_GOT_RELOC_SECTIONS): Add rela.opd
section.  Add ${RELOCATING-0}.
2002-06-27 22:57:50 +00:00
Joern Rennecke
164c405440 ld:
* emulparams/shelf.sh (STACK_ADDR): Don't define.
        (OTHER_SECTIONS): Define.
        * emulparams/shelf_nbsd.sh ((STACK_ADDR): Don't undef.
        (OTHER_SECTIONS): Undef.
newlib:
        * libc/sys/sh/crt0.S: Remove vestigial .section directive.
gcc:
        * config/sh/crt1.asm: remove _stack label definition
        and sentinel value.
2002-06-26 15:42:33 +00:00
Alan Modra
fc28fbc2a9 * ldmisc.c (demangle): Restore dots stripped from sym name. 2002-06-26 13:22:55 +00:00
H.J. Lu
a13a0de813 2002-06-25 H.J. Lu <hjl@gnu.org>
* Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
	* Makefile.in: Regenerated.
2002-06-26 01:12:32 +00:00
Nick Clifton
b553b18375 Update bug reporting guidelines 2002-06-20 14:44:10 +00:00
Nick Clifton
2755afbaec Remove romp target 2002-06-20 14:10:38 +00:00
Chris Demetriou
7d0a848ef9 2002-06-18 Chris Demetriou <cgd@broadcom.com>
* emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Check
	section flags for SEC_DATA, rather than for SEC_CODE being unset.
2002-06-19 05:34:56 +00:00
Chris Demetriou
8505f88407 2002-06-18 Chris Demetriou <cgd@broadcom.com>
* emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Fix
	format specifier used to print BFD name.
2002-06-19 01:52:52 +00:00
Dave Brolley
7d553a408b 2002-06-18 Dave Brolley <brolley@redhat.com>
From Catherine Moore, Michael Meissner, Jim Blandy:
	* emulparams/elf32frv.sh: New file.
	* configure.tgt: Support frv-*-*.
	* Makefile.am (ALL_EMULATIONS): Add eelf32frv.o.
	(eelf32frv.c): New target.
2002-06-18 21:17:27 +00:00
Tom Rix
8243435612 Fix ld segfault for some elf targets. Fix default layout for d10v. 2002-06-17 14:08:40 +00:00
Joern Rennecke
5d9b5481e3 Individual processor configurations for sh-elf / sh-linux:
gcc:
	* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
	* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
	* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
	(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
	(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
	(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
	(SELECT_SH5_COMPACT_NOFPU): Likewise.
	(TARGET_SWITCHES): Use them.
	(TARGET_CPU_DEFAULT): Define if not already defined.
	(TARGET_DEFAULT): Use it.
	(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
	* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
	* config/sh/t-monolib: New file.

bfd:
	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
	sh[1234]*-elf*.

ld:
	* configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.

Still outstanding:
	config.sub:
		* config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele,
		shle, sh[1234]le, sh3ele, sh64le.
2002-06-13 20:11:35 +00:00
H.J. Lu
c4bb8067a5 2002-06-12 H.J. Lu <hjl@gnu.org>
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
	false if xvec doesn't match.
2002-06-13 02:43:23 +00:00
Richard Sandiford
e052cfbe68 * ldlang.c (lang_size_sections_1): Skip removed output sections. 2002-06-10 16:12:04 +00:00
Alan Modra
4da711b140 * ldexp.c: Replace CONST with const.
* ldfile.c: Likewise.
	* ldfile.h: Likewise.
	* ldlex.l: Likewise.
	* mri.c: Likewise.
	* pe-dll.h: Likewise.
2002-06-08 07:39:45 +00:00
Alan Modra
eb95bb9a4e * emultempl/ppc64elf.em (new_vers_pattern): Warning fix. 2002-06-07 15:09:21 +00:00
Nick Clifton
e0076ab314 Enable pei386_auto_import by default. Only print a info message about auto
imports being resilved if this feature was not requested via a command line
switch.
2002-06-07 14:56:01 +00:00
Alan Modra
f13a54248a * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces. 2002-06-07 09:59:07 +00:00
Jeff Law
1abffd82ca * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,
HOSTING_CRT0 and HOSTING_LIBS.
2002-06-06 06:45:54 +00:00
Joern Rennecke
7a33bc1016 gcc:
* config.gcc (sh-*-elf*,  sh64*-*-elf*): Unify.
	(shl*-*-elf*): Add.
	* config/sh/t-be (MULTILIB_ENDIAN): Set.
	* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
	* t-sh (MULTILIB_ENDIAN): Set.
	(MULTILIB_OPTIONS): Use it.
	* t-sh64 (MULTILIB_OPTIONS): Likewise.
	(MULTILIB_DIRNAMES): Likewise.
bfd:
	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
ld:
	configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
2002-06-05 19:54:28 +00:00
Jason Thorpe
4a5e698dbf * emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.
(NONPAGED_TEXT_START_ADDR): Set to 0x1000.
2002-06-05 16:59:12 +00:00
Alan Modra
1d475d825e * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
SEC_EXCLUDE sections when doing a relocatable link.
2002-06-05 14:07:29 +00:00
Jason Thorpe
5b0e55b627 bfd:
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
* Makefile.in: Regenerate.
* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
* configure: Regenerate.
* elf32-sh64-nbsd.c: New file.
* elf64-sh64-nbsd.c: New file.
* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
bfd_elf64_sh64lnbsd_vec.

gas:
* configure.in (sh5*): Set cpu_type to sh64 and endian to big.
(sh5le*, sh64le*): Set cpu_type to sh64 and endian to little.
(sh5*-*-netbsd*, sh64*-*-netbsd*): New targets.
* configure: Regenerate.
* config/tc-sh64.c (sh64_target_format): Add support for NetBSD
environment.

ld:
* Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
(eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
(eshlelf64_nbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* emulparams/shelf32_nbsd.sh: New file.
* emulparams/shelf64_nbsd.sh: New file.
* emulparams/shlelf32_nbsd.sh: New file.
* emulparams/shlelf64_nbsd.sh: New file.

opcodes:
* configure.in: Add "sh5*-*" to list of targets which include
sh64 support.
* configure: Regenerate.
2002-06-04 02:57:44 +00:00
Alan Modra
9ad85d9b01 * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix. 2002-06-04 01:07:29 +00:00
Marek Michalkiewicz
0c9b4fee1c * scripttempl/avr.sc: Changes to support current GCC and avr-libc,
C++ constructors/destructors, loosely based on the m68hc11 port.
2002-06-01 23:28:59 +00:00
Alan Modra
2c538bdec9 * Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
2002-05-31 04:33:55 +00:00
Alan Modra
a0cb91c657 * Makefile.am (ALL_EMULATIONS): Add ei386nto.o.
(ei386nto.c): Add rule.
	* Makefile.in: Regenerate.
	* configure.tgt: Add i[3456]86-*-nto-qnx*.
	* emulparams/i386nto.sh: New file.
2002-05-31 03:02:35 +00:00
Jason Thorpe
37020578cf * NEWS: Add entry for VAX ELF support. 2002-05-30 02:58:04 +00:00
Jason Thorpe
ab68f3e06f 2002-05-29 Matt Thomas <matt@3am-software.com>
Jason Thorpe  <thorpej@wasabisystems.com>

* Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o.
(eelf32vax.c)
(evaxnbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (vax-*-netbsdelf*)
(vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* emulparams/elf32vax.sh: New file.
* emulparams/vaxnbsd.sh: New file.
2002-05-30 02:40:03 +00:00
Nick Clifton
8afb0e028c Fix genreation of arm <->thumb glue stubs by ensuring that they are in the last section linked. 2002-05-29 16:03:04 +00:00
Nick Clifton
d172d4ba03 Add DLX target 2002-05-28 14:08:47 +00:00
Nick Clifton
b4477fa895 Install new elf_chaos.sc script. 2002-05-27 17:52:56 +00:00
Richard Sandiford
ee3cc2e2ee * ldlang.c (lang_size_sections_1): Move check for conflicting load
addresses and regions from here...
	(lang_get_regions): ...to this new function.
	(lang_leave_output_section_statement): Use lang_get_regions.
	(lang_leave_overlay): Likewise.
	* mri.c (mri_draw_tree): Pass null as last argument to
	lang_leave_output_section_statement.
	* emultempl/elf32.em (gld*_place_orphan): Likewise.
	* emultempl/mmo.em (mmo_place_orphan): Likewise.
	* emultempl/pe.em (gld*_place_orphan): Likewise.
2002-05-27 08:22:08 +00:00
Jason Thorpe
aa501e5cee gas:
* configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
* configure: Regenerate.

ld:
* configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
2002-05-26 05:04:53 +00:00
Kazu Hirata
658957dba8 * ldemul.c: Fix formatting.
* ldfile.c: Likewise.
	* pe-dll.c: Likewise.
	* pe-dll.h: Likewise.
2002-05-25 20:39:25 +00:00
Alan Modra
0d6d936fc1 * ldlang.c (lang_process): Formatting, grammar. 2002-05-25 13:10:11 +00:00
Alan Modra
3511b5956d * ldlex.l: Use #include "" instead of <> for local header files. 2002-05-25 12:54:12 +00:00
Nick Clifton
436e8db0b7 Add a target for i386-netbsdpe. 2002-05-24 09:26:58 +00:00
Jakub Jelinek
13ae64f3c7 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
for symbols from SHF_TLS section.
	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
	(map_sections_to_segments): Build PT_TLS segment if necessary.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Account for PT_TLS segment.
	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
	SEC_THREAD_LOCAL sections to STT_TLS.
	* reloc.c: Add 386 and IA-64 TLS relocs.
	* section.c (SEC_THREAD_LOCAL): Define.
	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
	Remove.
	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
	unconditionally.
	(struct elf_final_link_info): Add first_tls_sec.
	(elf_bfd_final_link): Set first_tls_sec.
	Compute elf_hash_table (info)->tls_segment.
	(elf_link_output_extsym): Handle STT_TLS symbols.
	(elf_link_input_bfd): Likewise.
	* syms.c (BSF_THREAD_LOCAL): Define.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.
	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
	elf_i386_mkobject, elf_i386_object_p): New functions.
	(elf_howto_table): Add TLS relocs.
	(elf_i386_reloc_type_lookup): Support TLS relocs.
	(elf_i386_info_to_howto_rel): Likewise.
	(struct elf_i386_link_hash_entry): Add tls_type.
	(struct elf_i386_obj_tdata): New.
	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
	New macros.
	(struct elf_i386_link_hash_table): Add tls_ldm_got.
	(link_hash_newfunc): Clear tls_type.
	(elf_i386_check_relocs): Support TLS relocs.
	(elf_i386_gc_sweep_hook): Likewise.
	(allocate_dynrelocs): Likewise.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Likewise.
	(elf_i386_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject, elf_backend_object_p): Define.
	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
	want_tprel, want_dtpmod, want_dtprel.
	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
	R_IA64_LTOFF_TPREL22.
	(elf_code_to_howto_index): Add TLS relocs.
	(elfNN_ia64_check_relocs): Support TLS relocs.
	(allocate_global_data_got): Account for TLS .got data.
	(allocate_dynrel_entries): Account for TLS dynamic relocations.
	(elfNN_ia64_install_value): Supprt TLS relocs.
	(set_got_entry): Support TLS relocs.
	(elfNN_ia64_relocate_section): Likewise.

	* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
	(obj_elf_common): Call elf_common.
	(obj_elf_tls_common): New function.
	(elf_pseudo_tab): Support .tls_common.
	(special_sections): Add .tdata and .tbss.
	(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
	sections.
	(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
	(obj_elf_parse_section_letters): Include T in error message.
	* config/tc-ppc.c (ppc_section_letter): Likewise.
	* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
	(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
	SEC_MERGE.
	* config/tc-sparc.c (md_apply_fix3): Likewise.
	* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
	and @NTPOFF.
	(md_apply_fix3): Add TLS relocs.
	* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
	FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
	FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
	(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
	(ia64_elf_section_letter): Include T in error message.
	(md_begin): Support TLS operators.
	(md_operand): Likewise.
	(ia64_gen_real_reloc_type): Support TLS relocs.
	* testsuite/gas/i386/tlspic.s: New file.
	* testsuite/gas/i386/tlsd.s: New file.
	* testsuite/gas/i386/tlsnopic.s: New file.
	* testsuite/gas/i386/tlsd.d: New file.
	* testsuite/gas/i386/tlsnopic.d: New file.
	* testsuite/gas/i386/tlspic.d: New file.
	* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
	* testsuite/gas/ia64/tls.s: New file.
	* testsuite/gas/ia64/tls.d: New file.
	* testsuite/gas/ia64/ia64.exp: Add tls test.
	* write.c (adjust_reloc_syms): Don't change symbols in
	SEC_THREAD_LOCAL sections to STT_SECTION + addend.

	* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
	* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
	* elf/i386.h: Add TLS relocs.

	* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
	* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
	output section if necessary.  Handle .tbss.
	(lang_size_sections): Clear _raw_size for .tbss section
	(it allocates space in PT_TLS segment only).
	* ldwrite.c (build_link_order): Build link order for .tbss too.

	* readelf.c (get_segment_type): Add PT_TLS.
	(get_elf_section_flags): Add SHF_TLS.
	(get_dynamic_flags): Optimize.  Add DF_STATIC_TLS.
	(process_dynamic_segment): Use puts instead of printf.
	(get_symbol_type): Support STT_TLS.
	* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
	SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
	Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Alan Modra
68b2fc7af6 * configure.in: Correct spelling of AC_PREREQ. 2002-05-23 08:17:10 +00:00
Christopher Faylor
70b0be7903 * pe-dll.c (autofilter_liblist): Add more system libs excluded by default.
(autofilter_objlist): Add crtbegin.o, crtend.o.
* emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
(longopts): Add new option --exclude-libs.
(gld_${EMULATION_NAME}_list_options): Give quick help about it.
(gld_${EMULATION_NAME}_parse_args): Use it.
* pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
* pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from
whole archives.
(pe_dll_add_excludes): Set excludes->type.
(auto_export): Add new variable libname and set to archive basename if abfd.
Use it when filtering default and user-specified libarary excludes.  Let string
"ALL" mean all libs when filtering user-specified libs.
* ld.texinfo: Document --exclude-libs.
2002-05-22 18:03:09 +00:00
Alan Modra
fac1652d6b * ldemul.c (ldemul_new_vers_pattern): New function.
* ldemul.h (ldemul_new_vers_pattern): Declare.
	(struct ld_emulation_xfer_struct): Add new_vers_pattern.
	* ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
	* emultempl/ppc64elf.em (dotsyms): New static var.
	(gld${EMULATION_NAME}_new_vers_pattern): New function.
	(LDEMUL_NEW_VERS_PATTERN): Define.
	(PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
	(PARSE_AND_LIST_LONGOPTS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Handle them.
	* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
	initialiser.
	* emultempl/armcoff.em: Likewise.
	* emultempl/armelf_oabi.em: Likewise.
	* emultempl/beos.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/generic.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68kcoff.em: Likewise.
	* emultempl/mipsecoff.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vanilla.em: Likewise.
2002-05-22 09:04:48 +00:00
Alan Modra
eb3d6bb8dc * genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
and $NATIVE_LIB_DIRS.  Add $tool_lib before other libs.
	(LIB_SEARCH_DIRS): No need to use "tr".
	(COMPILE_IN): Only set for native targets.
	* configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
	here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
	* configure.tgt (powerpc*): Set tdir_*.
	(powerpcle*): Correct targ_extra_emuls.
	* emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
	* emulparams/elf64ppc.sh (LIB_PATH): Likewise.
2002-05-22 08:44:53 +00:00
Alan Modra
54f24647c7 * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
calling lang_add_entry.
2002-05-22 08:21:27 +00:00
H.J. Lu
aa713662e8 2002-05-21 H.J. Lu (hjl@gnu.org)
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
	"-z muldefs".
	(gld${EMULATION_NAME}_list_options): Add "-z muldefs".

	* ld.texinfo: Updated for --allow-multiple-definition and
	"-z muldefs".

	* ldmain.c (main): Initialize the allow_multiple_definition
	field to false.

	* lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
	(ld_options): Add --allow-multiple-definition.
	(parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2002-05-22 05:08:31 +00:00
Jason Thorpe
658f25883a bfd:
* config.bfd (armeb-*-netbsdelf*): New target.

ld:
* Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
(earmelfb_nbsd.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt (armeb-*-netbsdelf*): New target.
(arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
(arm-*-netbsd*): Likewise.
* emulparams/armelfb_nbsd.sh: New file.
2002-05-21 15:11:04 +00:00
Tom Rix
ca10c62d56 Add -bnortl and -bnortllib support for AIX. 2002-05-18 16:56:27 +00:00
Marek Michalkiewicz
fae1e84fb6 * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
* Makefile.in: Regenerate.
	* configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
2002-05-17 05:55:14 +00:00
Marek Michalkiewicz
7c8bf1e82a * emulparams/avr1.sh: New file.
* emulparams/avr2.sh: New file.
	* emulparams/avr3.sh: New file.
	* emulparams/avr4.sh: New file.
	* emulparams/avr5.sh: New file.
	* scripttempl/avr.sc: New file.
2002-05-16 19:51:08 +00:00
Alan Modra
c2c01aa78c * ldlang.c (section_already_linked): Call bfd_link_just_syms.
(lang_place_orphans): Abort if just_syms_flag.
2002-05-15 00:19:23 +00:00
Tom Rix
f1f0d9ab14 XCOFF64 fixes. For setting arch/mach and for R_BR relocations. 2002-05-10 21:20:16 +00:00
Jakub Jelinek
f4d733664a * ldmain.c (main): Enable -z combreloc by default. 2002-05-10 09:49:25 +00:00
Nick Clifton
d3d8a9ee19 Honour DESTDIR 2002-05-07 17:22:20 +00:00
Richard Sandiford
9f88b410a0 * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
(lang_enter_overlay): Remove the last two parameters.
	(lang_leave_overlay): Take them here instead.
	* ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
	(section): Pass LMA and crossref flag to lang_leave_overlay rather
	than lang_enter_overlay.
	* ldlang.c (lang_memory_region_lookup): Return null for null names.
	(lang_output_section_statement_lookup): Initialize update_dot_tree.
	(lang_size_sections_1): Evaluate it.
	(lang_leave_output_section_statement): Rework LMA lookup.
	(overlay_lma, overlay_nocrossrefs): Remove.
	(lang_enter_overlay): Remove LMA and corssref arguments.
	(lang_enter_overlay_section): Don't set the LMA here.
	(lang_leave_overlay): Take LMA and crossref arguments.  Move the '.'
	assignment to the last section's update_dot_tree.  Unconditionally
	use the load and run-time regions specified in the OVERLAY statement.
	Likewise the first section's LMA.  Only set the other sections' LMAs
	when no load region is given.
2002-05-07 11:04:54 +00:00
Nick Clifton
b9a743c80b New Swedish translation 2002-05-06 10:09:24 +00:00
Alan Modra
a3d60be3b8 * emultempl/hppaelf.em (build_section_lists): New function.
(gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
	and build_section_lists.
2002-05-04 02:06:43 +00:00
Kazu Hirata
b7a26f91f4 * ld.h: Fix formatting.
* ldexp.c: Likewise.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* lexsup.c: Likewise.
	* pe-dll.c: Likewise.
2002-05-03 13:48:55 +00:00
Alan Modra
805fc79928 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
(ppc64_elf_ha_reloc): New function.
	(ppc64_elf_brtaken_reloc): New function.
	(ppc64_elf_sectoff_reloc): New function.
	(ppc64_elf_sectoff_ha_reloc): New function.
	(ppc64_elf_toc_reloc): New function.
	(ppc64_elf_toc_ha_reloc): New function.
	(ppc64_elf_toc64_reloc): New function.
	(ppc64_elf_unhandled_reloc): New function.
	(ppc64_elf_howto_raw): Use the above.
	<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
	<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
	<R_PPC64_SECTOFF_DS>: Likewise.
	(IS_ABSOLUTE_RELOC): Update.
	(struct ppc_link_hash_table): Add have_undefweak.
	(ppc64_elf_link_hash_table_create): Init.
	(func_desc_adjust): Set have_undefweak.
	(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
	add the .sfpr blr when have_undefweak.
	(ppc64_elf_setup_section_lists): Check hash table flavour.
	(ppc64_elf_next_input_section): Move output_section->owner test to
	ppc64elf.em.
	(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
	and relocatable test.  Return TOCstart and don't set elf_gp.
	(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
	offset calculation.  Add assert on weak sym branch tweaks.
	* elf64-ppc.h (ppc64_elf_set_toc): Delete.
	(ppc64_elf_toc): Declare.
	(ppc64_elf_next_input_section): Update.

	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
	Adjust for ppc64_elf_set_toc change.  #include libbfd.h.
	(build_section_lists): Do output_section tests here.
2002-05-02 09:48:15 +00:00
Tom Rix
cc7e59b280 Formatting fix. 2002-05-01 02:52:17 +00:00
Alan Modra
9c1d81c102 Long branch stubs, multiple stub sections.
* emultempl/ppc64elf.em: Include ldctor.h.
	(stub_file): New var.
	(group_size): New var.
	(ppc_create_output_section_statements): New function.
	(struct hook_stub_info): New.
	(hook_in_stub): New function.
	(ppc_add_stub_section): New function.
	(ppc_layout_sections_again): New function.
	(build_section_lists): New function.
	(gld${EMULATION_NAME}_finish): Rewrite.
	(real_func): New var.
	(ppc_for_each_input_file_wrapper): New function.
	(ppc_lang_for_each_input_file): New function.
	(lang_for_each_input_file): Define.
	(PARSE_AND_LIST_PROLOGUE): Define.
	(PARSE_AND_LIST_LONGOPTS): Define.
	(PARSE_AND_LIST_OPTIONS): Define.
	(PARSE_AND_LIST_ARGS_CASES): Define.
	(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
2002-05-01 02:34:54 +00:00
Tom Rix
aa67bccfe2 Add support for AIX -blibpath and -bnolibpath. 2002-04-30 23:29:21 +00:00
Mark Mitchell
94349e12d2 * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
(eelf32ppcwindiss.c): New target.
	* Makefile.in: Regenerated.
	* configure.tgt: Add support for powerpc-*-windiss.
	* emulparams/elf32ppcwindiss.sh: New file.
2002-04-30 17:49:01 +00:00
Richard Sandiford
7b17f854f7 * ldlang.c (print_assignment): Update print_dot for assignments to ".".
* ldexp.c (exp_print_token): Add "infix_p" argument.
	(exp_print_tree): Update accordingly.
2002-04-30 09:21:27 +00:00
Alan Modra
596dafeba1 * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
* Makefile.in: Regenerate.
	* mpw-elfmips.c: Delete.
	* mpw-eppcmac.c: Delete.
	* mpw-esh.c: Delete.
	* mpw-idtmips.c: Delete.
2002-04-28 12:05:07 +00:00
Joern Rennecke
a44d7f9cfb Re-enable linking for sh5:
ld:
	* emulparams/shelf32.sh (MACHINE): Now sh5.
bfd:
	* cpu-sh.c (scan_mach): Delete.
	(arch_info_struct): Replace scan_mach with bfd_default_scan.
	(bfd_sh_arch): Likewise.
2002-04-17 19:31:53 +00:00
Thiemo Seufer
944cd72c7e * arparse.y: Fix syntax warning.
* ldgram.y: Fix syntax warning.
2002-04-17 13:05:55 +00:00
Nick Clifton
5835c2123d Add 'n' in order to prevent "-n" from being taken as an abbreviation for
"--no-pipeline-knowledge".
2002-04-11 16:55:27 +00:00
Alan Modra
d08a14c385 * ldlang.c (lang_size_sections_1): Don't complain about
SEC_NEVER_LOAD sections having no memory region specified.
2002-04-08 01:01:43 +00:00
Alan Modra
024531e2e5 * ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix. 2002-04-08 00:24:02 +00:00
Matthew Green
c657a1f082 * ld/configure.host (*-*-netbsd*): Add support for NetBSD/ELF. 2002-04-07 13:57:53 +00:00
Alan Modra
61bef6f1a0 * dep-in.sed: Cope with absolute paths.
* Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
	Run "make dep-am".
	* Makefile.in: Regenerate.
2002-04-04 14:07:57 +00:00
Thiemo Seufer
49ba2791b8 * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options. 2002-04-04 07:21:39 +00:00
Jakub Jelinek
50e60fb578 * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
is smaller than maximum, round dot up to common page boundary.
2002-04-03 10:25:41 +00:00
Alan Modra
6f12f4cad7 * configure.host: Set up for generic hosts first, then tweak as
necessary in more specific targets.
	(HOSTING_LIBS): Include libgcc_eh.a if found.
2002-03-27 14:07:50 +00:00