diff options
author | Alan Modra <amodra@gmail.com> | 2009-03-17 12:46:19 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-03-17 12:46:19 +0000 |
commit | a7e11ee1d2e57a66740e940cb511ddba421fac47 (patch) | |
tree | cbf7e7c6bf82272b80cd8bbcb3f1f0d208e06726 /bfd/elf32-spu.h | |
parent | 9efe6174dc55b401321d1b53cdd04888e470b4c2 (diff) | |
download | gdb-a7e11ee1d2e57a66740e940cb511ddba421fac47.zip gdb-a7e11ee1d2e57a66740e940cb511ddba421fac47.tar.gz gdb-a7e11ee1d2e57a66740e940cb511ddba421fac47.tar.bz2 |
bfd/
* elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
Add compact_stub.
(emum _ovly_flavour): Delete ovly_compact, ovly_none.
* elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
ovly_return fields with ovly_entry[2]. Adjust all users.
(spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
when soft-icache.
(spu_elf_build_stubs): Likewise.
(ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
ovly_flavour changes. Update all callers.
(ovl_stub_size_log2): New function.
(build_stub): Handle compact icache stubs. Use different manager
entry point for stubs in non-icache area.
(spu_elf_size_stubs): Don't allocate space for indirect branch
descriptors.
(spu_elf_build_stubs): And don't built them.
ld/
* emultempl/spu_icache.S: Add new entry to dummy handler.
* emultempl/spu_icache.o_c: Regenerate.
* emultempl/spuelf.em (params): Init new field.
(no_overlays): New static var.
(spu_before_allocation): Use it.
(OPTION_SPU_COMPACT_STUBS): Define.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
(PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs. Adjust no-overlays
handling.
ld/testsuite/
* ld-spu/icache1.d: Update for fixed set_id, new manager entry, and
reduced data.
Diffstat (limited to 'bfd/elf32-spu.h')
-rw-r--r-- | bfd/elf32-spu.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/bfd/elf32-spu.h b/bfd/elf32-spu.h index 0e69555..c856791 100644 --- a/bfd/elf32-spu.h +++ b/bfd/elf32-spu.h @@ -35,7 +35,8 @@ struct spu_elf_params #define OVERLAY_RODATA 4 /* Type of overlays, enum _ovly_flavour. */ - unsigned int ovly_flavour : 2; + unsigned int ovly_flavour : 1; + unsigned int compact_stub : 1; /* Set if we should emit symbols for stubs. */ unsigned int emit_stub_syms : 1; @@ -98,10 +99,8 @@ struct _spu_elf_section_data enum _ovly_flavour { - ovly_compact, ovly_normal, - ovly_soft_icache, - ovly_none + ovly_soft_icache }; struct _ovl_stream |