Paul Brook
e489d0aef7
* bfd/bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
...
* bfd/elf32-arm.h (struct elf32_elf_section_map): New.
(struct _arm_elf_section_data): New.
(elf32_arm_section_data): Define.
(struct elf32_arm_link_hash_table): Add byteswap_code.
(elf32_arm_link_hash_table_create): Initialize byteswap_code.
(bfd_elf32_arm_process_before_allocation): Add byteswap_code.
(elf32_arm_post_process_headers): Set EF_ARM_BE8.
(elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
(bfd_elf32_new_section_hook, elf_backend_write_section,
elf_backend_link_output_symbol_hook): Define.
* ld/emultempl/armelf.em (byteswap_code): Add.
(arm_elf_before_allocation): Pass extra parameter.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
* ld/emultempl/armelf_oabi.em: Pass extra parameter.
* ld/ld.texinfo: Document --be8.
2004-04-01 11:20:04 +00:00
Alan Modra
5e2f15758b
* ldfile.c (ldfile_set_output_arch): Add defarch param.
...
* ldfile.h (ldfile_set_output_arch): Ditto.
* emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Use
ldfile_set_output_arch.
* emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/linux.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/mipsecoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/pe.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Ditto.
* ldgram.y: Adjust ldfile_set_output_arch call.
* emultempl/armcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/armelf_oabi.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/generic.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/gld960c.em (gld960_set_output_arch): Ditto.
* emultempl/m68kcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
* emultempl/ticoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2004-01-03 11:09:07 +00:00
Alan Modra
0c7a8e5acd
* emultempl/aix.em: Convert to C90, remove unnecessary prototypes
...
and casts. Replace PTR with void *. Formatting.
* emultempl/alphaelf.em: Likewise
* emultempl/armcoff.em: Likewise
* emultempl/armelf.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/hppaelf.em: Likewise
* emultempl/linux.em: Likewise
* emultempl/lnk960.em: Likewise
* emultempl/m68hc1xelf.em: Likewise
* emultempl/m68kcoff.em: Likewise
* emultempl/m68kelf.em: Likewise
* emultempl/mipsecoff.em: Likewise
* emultempl/mipself.em: Likewise
* emultempl/mmix-elfnmmo.em: Likewise
* emultempl/mmixelf.em: Likewise
* emultempl/mmo.em: Likewise
* emultempl/needrelax.em: Likewise
* emultempl/netbsd.em: Likewise
* emultempl/pe.em: Likewise
* emultempl/sh64elf.em: Likewise
* emultempl/sunos.em: Likewise
* emultempl/ticoff.em: Likewise
* emultempl/vanilla.em: Likewise
* emultempl/xtensaelf.em: Likewise
* Makefile.am: Correct dependencies.
* Makefile.in: Regenerate.
2003-06-27 00:38:25 +00:00
Nick Clifton
06aa72344f
(arm_elf_before_allocation): Replace ASSERT with a test for a NULL
...
bfd_for_interworking.
2003-05-30 08:19:30 +00:00
Alan Modra
3bcf55573d
* ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.
...
(ldemul_parse_args): Return bfd_boolean. Formatting.
* ldemul.h (ldemul_add_options, ldemul_handle_option): Declare.
(ldemul_parse_args): Adjust.
(struct ld_emulation_xfer_struct): Add add_options and handle_option.
Return bfd_boolean from parse_args.
* lexsup.c (parse_args): Malloc shortopts, longopts and
really_longopts. Call ldemul_add_options and ldemul_handle_option.
* emultempl/aix.em (gld${EMULATION_NAME}_add_options): Split out from
gld${EMULATION_NAME}_parse_args.
(gld${EMULATION_NAME}_handle_option): Likewise.
(ld_${EMULATION_NAME}_emulation): Adjust initializer.
* emultempl/armcoff.em: As for aix.em, but remove parse_args.
* emultempl/beos.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/elf32.em: Likewise. Don't duplicate long options either.
(gld${EMULATION_NAME}_add_sysroot): Prototype.
* emultempl/armelf.em (PARSE_AND_LIST_LONGOPTS): Don't duplicate
options.
* emultempl/hppaelf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc32elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc64elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/armelf_oabi.em (ld_${EMULATION_NAME}_emulation): Adjust
initializer.
* 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/sunos.em: Likewise.
* emultempl/vanilla.em: Likewise.
* emultempl/netbsd.em (gldnetbsd_before_parse): Prototype.
2003-02-28 01:32:31 +00:00
Nick Clifton
ef5bdbd1fe
Add duplicate entry for no-pipeline-knowledge. This will prevent the getopt
...
package from thinking that there are any shorter abbreviations for
--no-pipeline-knowledge.
2003-02-07 15:32: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
Nick Clifton
88f7bcd5a7
Revert ARM linker patch and apply similar patch to bfd instead
2002-08-27 11:01:55 +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
2004afbc1d
Only search for an interworking bfd if there are input bfds.
2002-08-07 15:22:41 +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
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
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
c56feb2b8c
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Only emit this
...
function when LDEMUL_FINISH isn't set to the same name. Don't
call ${LDEMUL_FINISH}.
(ld_${EMULATION_NAME}_emulation): Call $LDEMUL_FINISH if defined.
* emultempl/armelf.em (arm_elf_finish): Call
gld${EMULATION_NAME}_finish.
* emultempl/hppaelf.em (hppaelf_finish): Rename to
gld${EMULATION_NAME}_finish. Call bfd_elf32_discard_info and
hppaelf_layout_sections_again if necessary.
(need_laying_out): New var.
(hppaelf_layaout_sections_again): Rename to
hppaelf_layout_sections_again. Clear need_laying_out.
(PARSE_AND_LIST_OPTIONS): Format text.
2001-11-15 12:44:03 +00:00
H.J. Lu
a48ca7f2ea
2001-11-14 H.J. Lu <hjl@gnu.org>
...
* emultempl/armelf.em (arm_elf_finish): Renamed from
gld${EMULATION_NAME}_finish.
(LDEMUL_FINISH): Set to arm_elf_finish.
2001-11-15 07:12:48 +00:00
Nick Clifton
a2b64bede3
Fixtypos in ChangeLogs, fix copyright dates in files
2001-03-13 06:14:29 +00:00
Alan Modra
41392f033d
Add some shell variables and shell code to elf32.em
...
to allow elf32.em to be used by ports that require
some minor variations or a few extra functions.
Implement for hppaelf and armelf.
Fix header file include order in m68kcoff.em
2000-07-28 01:33:14 +00:00
Alan Modra
b71e277823
Remove some forward declarations in ldemul.h and ldfile.h, and
...
re-arrange header include order.
Fix shadowing warnings in ldlang.h
Fix compile errors in mpw-elfmips.c
2000-07-11 03:42:41 +00:00
Alan Modra
aea4bd9d34
place_orphan optimisations
2000-04-25 05:14:16 +00:00
H.J. Lu
20d04697a8
2000-04-18 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
lang_leave_output_section_statement () after calling
lang_enter_output_section_statement ().
* emultempl/armelf.em: Likewise.
2000-04-18 23:39:03 +00:00
Alan Modra
5ba474214c
Yet another set of fixes for orphan sections.
2000-04-18 05:53:41 +00:00
Alan Modra
01cc8ff856
Zero start address of orphan ~(SEC_LOAD | SEC_ALLOC) sections.
2000-04-14 01:58:29 +00:00
Alan Modra
6a345e871d
Keep output orphan sections in the same order as input.
2000-04-12 02:43:37 +00:00
Alan Modra
40d109bfbc
GCC warning fix: Add missing NULL initialiser for find_potential_libraries.
2000-02-29 05:53:53 +00:00
Timothy Wall
562d3460fb
Add LMA memory region functionality.
2000-02-16 18:53:32 +00:00
Alan Modra
e1c47aa42d
To satisfy latest CVS gcc:
...
* emultempl/*.em (ld_emulation_xfer_struct): Add missing NULL
initialisers, and comments.
* testsuite/ld-srec/sr3.cc (__rethrow): New.
2000-01-22 23:22:18 +00:00
Nick Clifton
29c4c6b539
fix compile time warnings
1999-10-27 18:13:28 +00:00
Nick Clifton
1ac6a75211
Remove extraneous underscore from prototype
1999-10-26 12:13:20 +00:00
Ian Lance Taylor
597e25914e
* emultempl/ostring.sed: Rename from stringify.sed.
...
* emultempl/astring.sed: New file.
* Makefile.am (stringify.sed): New target.
(GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
stringify.sed.
* configure.in: Define and substitute STRINGIFY.
* emultempl/*.em: Use stringify.sed from build directory rather
than source directory.
* emultempl/elf32.em: Use stringify.sed rather than inline sed
script.
* emultempl/gld960.em, emultempl/gld960c.em: Likewise.
* emultempl/hppaelf.em, emultempl/linux.em: Likewise.
* emultempl/lnk960.em, emultempl/sunos.em: Likewise.
* configure, Makefile.in: Rebuild.
1999-08-06 22:46:03 +00:00
Nick Clifton
f11523b013
Abort if input format is ARM and output format is not
1999-07-05 07:51:39 +00:00
Nick Clifton
a0290afa96
Patch from: Jim Pick <jim@jimpick.com>
...
Added code so that .xs linker scripts are called so that ARM shared libraries
are built correctly.
CVS: ----------------------------------------------------------------------
1999-06-29 02:45:00 +00:00
Nick Clifton
6f798e5c17
Add new command line switch --thumb-entry.
1999-06-21 03:30:32 +00:00
Richard Henderson
f97f730029
* emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
...
DEFAULT_EMULATION.
* emultempl/elf32.em: Likewise.
* emultempl/sunos.em: Likewise.
1999-06-20 14:12:08 +00:00
Nick Clifton
7ca69e9e10
Implement new command line option for new ABI: -p which prevents the ARM code
...
from exhibiting any knowledge of the length of the processor's pipeline.
1999-05-29 10:57:44 +00:00
Nick Clifton
31ce062864
1999-05-24 Philip Blundell <philb@gnu.org>
...
* emultempl/armelf.em (before_parse): Set config.dynamic_link and
config.has_shared.
* emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
* emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise
1999-05-24 12:49:30 +00:00
Nick Clifton
1220a72943
Add definitions related to shared objects (copied from elf32.em)
1999-05-22 09:55:50 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00