Age | Commit message (Collapse) | Author | Files | Lines |
|
Added elf32fr30.sh
|
|
|
|
|
|
|
|
|
|
dyanmic linking.
* scripttempl/v850.sc: Add KEEP attribute to .init,
.fini, .dtors and .ctors. Add .data and .text
wildcards to support section garbage collection.
|
|
sections called .call_table_data and .call_table_text.
|
|
|
|
elf. Change TEXT_START_ADDR to 0x8000. Define
OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
OTHER_BSS_END_SYMBOLS.
* scripttempl/elf.sc: Modify to use
OTHER_BSS_END_SYMBOLS.
* scripttempl/elfarm.sc: Remove file.
|
|
|
|
(statement): Accept SORT around CONSTRUCTORS.
* ldctor.c: Include <ctype.h>.
(constructors_sorted): New global variable.
(ctor_prio, ctor_cmp): New static functions.
(ldctor_build_sets): Sort constructors if requested.
* ldctor.h (constructors_sorted): Declare.
* ldlang.c (print_statement): Print sorted CONSTRUCTORS
correctly.
* scripttempl/elf.sc: Add sort around CONSTRUCTORS.
* ld.texinfo (Output Section Keywords): Document SORT
(CONSTRUCTORS).
|
|
* emulparams/armelf.sh: Define TEMPLATE_NAME to armelf.
* scripttempl/elfarm.sc: Include .glue_7t and .glue7
sections.
* emultempl/armelf.em: New file.
|
|
back to zero.
|
|
0x8000. Add __bss_end definition.
|
|
|
|
* emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
|
|
|
|
* Makefile.am (ei386beos.o): New.
* emulparams/i386beos.sh: New file.
* emultempl/beos.em, scripttempl/i386beos.sc: New file.
|
|
* ldgram.y (ldgram_had_keep, KEEP): New.
(input_section_spec_no_keep): Rename from old input_section_spec.
(input_section_spec): New. Recognize KEEP.
* ldlang.c (wild_section): Handle keep sections.
(lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
(lang_gc_sections_1, lang_gc_sections): New.
(lang_process): Invoke lang_gc_sections.
(lang_add_wild): Add keep argument. Update all callers.
* ldlang.h (lang_wild_statement_struct): Add keep_sections.
* ldlex.l (KEEP): Match it.
* ldmain.c (main): Error on -r and --gc-sections.
* lexsup.c: Add --gc-sections.
* scripttempl/elf.sc: Merge .text.* etc sections appropriately.
Mark startup sections with KEEP.
* scripttempl/elfppc.sc: Likewise.
* ld.texinfo: Update for --gc-sections and KEEP.
|
|
* ldlang.c (wild_sort): Correct order of sort.
* scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
.dtors.
* scripttempl/elfd10v.sc: Likewise.
start-sanitize-d30v
* scripttempl/elfd30v.sc: Likewise.
end-sanitize-d30v
* scripttempl/elfppc.sc: Likewise.
|
|
* ldgram.y (current_file): Change to struct wildcard_spec.
(%union): Add new fields cname and wildcard.
(wildcard_name, wildcard_spec): New nonterminals.
(file_NAME_list): Use wildcard_spec.
(input_section_spec): Change current_file usage.
* ld.h (struct wildcard_spec): Define.
* ldlang.h (lang_wild_statement_struct): Add new fields
sections_sorted and filenames_sorted.
(lang_add_wild): Update declaration.
* ldlang.c (wild_sort): New static function.
(wild_section): Use wild_sort.
(print_wild_statement): Print sorting information.
(lang_add_wild): Add new parameters sections_sorted and
filenames_sorted. Change all callers.
* mri.c (mri_draw_tree): Update calls to lang_add_wild.
* scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
* scripttempl/elfd10v.sc: Likewise.
* scripttempl/elfd30v.sc: Likewise.
* scripttempl/elfppc.sc: Likewise.
|
|
|
|
relocating.
|
|
* scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
section to avoid copying certain data on fork. The linker used to
include this between __data_start__ and __data_end__, but that
breaks building the cygwin32 dll. The fix is to rename the
section ".data_cygwin_nocopy" and explictly include it after
__data_end__.
|
|
Add tms320c30 support:
* configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
* emulparams/tic30aout.sh: New file.
* emulparams/tic30coff.sh: New file.
* scripttempl/tic30aout.sc: New file.
* scripttempl/tic30coff.sc: New file.
* Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
etic30coff.o.
(etic30aout.c, etic30coff.c): New targets.
* Makefile.in: Rebuild.
|
|
* scripttempl/elfppc.sc: Put .dynsbss in .sbss.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* scripttempl/elfppc.sc: Correct .rela.sdata entries.
* scripttempl/elfppc.sc: Put the PLT between the small and large
BSS segments.
* emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
program base of 0x02000000 is recommended...' because otherwise
shared libraries are less efficient. We use 0x01800000 because
otherwise it's impossible to branch to location 0, for instance if
you have an undefined weak symbol.
|
|
the import list.
|
|
* scripttempl/elf.sc: Set ENTRY based on target. Permit
TEXT_DYNAMIC to control .dynamic segment. Permit
SHLIB_TEXT_START_ADDR to set start of shared object. Support
INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put
.gnu.linkonce.t* in .text when relocating. Support
OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as
DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
* emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
(DATA_ADDR): Don't set.
(INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
(OTHER_TEXT_SECTIONS): Set.
(OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
(MACHINE): Set to empty string.
* emulparams/elf32l4300.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32elmip.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise. Also:
(TEXT_DYNAMIC): Set.
* emulparams/elf32lmips.sh: Likewise.
* Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
elfmips.sc.
(eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
|
|
<schwab@issan.informatik.uni-dortmund.de>
* scripttempl/elf.sc: Don't align the data segment on the next 8
byte boundary, instead let the linker use whatever the individual
sections require.
|
|
|
|
|
|
* Makefile.in (ALL_EMULATIONS): Add ealphabsd.o.
(ealphabsd.c): New rule.
* configure.host (alpha-*-bsd): New target.
* configure.tgt (alpha-*-bsd): New target.
* emulparams/alphabsd.sh: New file for *BSD/alpha.
* scripttempl/alphabsd.sc: New file for *BSD/alpha.
|
|
|
|
generating a shared library to not skip a large block of memory.
From Per Fogelstrom <pefo@cvs.openbsd.org>.
|
|
|
|
* Makefile.in (ed30velf.c): New target.
* configure.tgt (d30v-*-*): New target.
* emulparams/d30velf.sh: New file.
* scripttempl/elfd30v.sc: New file.
|
|
.mips16.call.* in .text.
|
|
* scripttempl/tic80coff.sc: New (dummy) file for TIc80.
* Makefile.in (etic80coff.c): Add target and rule to build it.
* configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
|
|
appropriate reloc sections.
* scripttempl/elfmips.sc: Add linkonce support.
* scripttempl/elfppc.sc: Likewise.
|
|
* scripttempl/elfmips.sc: Use __start as the entry address for
mips*-*-linux*.
|
|
|
|
|
|
|