binutils-gdb/ld/emultempl
Alan Modra 9dcc47943c bfd/
* elf32-spu.c: Include libiberty.h.
	(struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved,
	non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script,
	spu_elf_relink, auto_overlay fields.
	(AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define.
	(needs_ovl_stub): Flip test so that call to non-function warning
	is emitted during relocate_section rather than earlier.
	(spu_elf_check_vma): Stash --auto-overlay parameters, and clear
	auto_overlay if no section exceeds local store.
	(struct call_info): Add count, max_depth, is_pasted fields.
	(struct function_info): Add rodata, last_caller, call_count,
	depth, new visit flags.
	(insert_callee): Increment call count.
	(copy_callee): New function.
	(mark_functions_via_relocs): Investigate all reloc types to count
	possible function pointer stubs for --auto-overlay.  Track
	last_caller and increment function call_count.
	(pasted_function): Insert a "call" into call info for pasted section.
	(remove_cycles): Track max depth of calls.  Don't emit call graph
	pruning warning for --auto-overlay.
	(build_call_tree): Don't transfer_calls for --auto-overlay.
	Adjust remove_cycles call.
	(sort_calls, sort_lib, sort_bfds): New functions.
	(struct _mos_param, struct _uos_param, struct _cl_param): New.
	(mark_overlay_section, unmark_overlay_section): New functions.
	(collect_lib_sectios, auto_ovl_lib_functions): New functions.
	(collect_overlays, find_pasted_call): New functions.
	(sum_stack): Deal with is_pasted "calls".  Exit before printing
	when --auto-overlay.
	(spu_elf_auto_overlay): New function.
	(spu_elf_final_link): Call spu_elf_auto_overlay.
	* elf32-spu.h (spu_elf_check_vma): Update prototype.
ld/
	* emultempl/spuelf.em (auto_overlay, auto_overlay_file,
	auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
	(spu_before_allocation): Warn on --auto-overlay and existing overlays.
	(struct tflist, clean_tmp): Move.
	(new_tmp_file): New function, extracted from..
	(embedded_spu_file): ..here.
	(spu_elf_open_overlay_script, spu_elf_relink): New function.
	(gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
	Warn on --auto-overlay and zero local store.
	(gld${EMULATION_NAME}_choose_target): New function to stash argv.
	(OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
	OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
	OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
	(PARSE_AND_LIST_LONGOPTS): Add entries for new options.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Likewise.
	(LDEMUL_CHOOSE_TARGET): Define.
2008-04-08 03:26:54 +00:00
..
aix.em include/ 2008-02-15 03:35:53 +00:00
alphaelf.em * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id. 2008-02-15 09:03:02 +00:00
armcoff.em include/ 2008-02-15 03:35:53 +00:00
armelf.em 2008-02-20 Paul Brook <paul@codesourcery.com> 2008-02-20 15:17:56 +00:00
astring.sed
avrelf.em include/ 2008-02-15 03:35:53 +00:00
beos.em include/ 2008-02-15 03:35:53 +00:00
cr16elf.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
crxelf.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
elf32.em include/ 2008-02-15 03:35:53 +00:00
elf-generic.em include/ 2008-02-15 03:35:53 +00:00
genelf.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
generic.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
gld960.em include/ 2008-02-15 03:35:53 +00:00
gld960c.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
hppaelf.em * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id. 2008-02-15 09:03:02 +00:00
ia64elf.em * emultempl/alphaelf.em: Format option help. 2007-08-17 13:50:48 +00:00
irix.em include/ 2008-02-15 03:35:53 +00:00
linux.em include/ 2008-02-15 03:35:53 +00:00
lnk960.em include/ 2008-02-15 03:35:53 +00:00
m68hc1xelf.em include/ 2008-02-15 03:35:53 +00:00
m68kcoff.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
m68kelf.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
mipsecoff.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
mipself.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
mmix-elfnmmo.em include/ 2008-02-15 03:35:53 +00:00
mmixelf.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
mmo.em include/ 2008-02-15 03:35:53 +00:00
needrelax.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
netbsd.em 2007-07-19 Roland McGrath <roland@redhat.com> 2007-07-19 19:56:10 +00:00
ostring.sed
pe.em include/ 2008-02-15 03:35:53 +00:00
pep.em include/ 2008-02-15 03:35:53 +00:00
ppc32elf.em * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id. 2008-02-15 09:03:02 +00:00
ppc64elf.em * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id. 2008-02-15 09:03:02 +00:00
README
scoreelf.em include/ 2008-02-15 03:35:53 +00:00
sh64elf.em include/ 2008-02-15 03:35:53 +00:00
spu_ovl.o bfd/ 2008-02-07 01:26:56 +00:00
spu_ovl.S bfd/ 2008-02-07 01:26:56 +00:00
spuelf.em bfd/ 2008-04-08 03:26:54 +00:00
sunos.em include/ 2008-02-15 03:35:53 +00:00
ticoff.em * emultempl/alphaelf.em: Format option help. 2007-08-17 13:50:48 +00:00
vanilla.em include/ 2008-02-15 03:35:53 +00:00
vxworks.em include/ 2008-02-15 03:35:53 +00:00
xtensaelf.em include/ 2008-02-15 03:35:53 +00:00
z80.em include/ 2008-02-15 03:35:53 +00:00

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.