aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.h
AgeCommit message (Collapse)AuthorFilesLines
2005-09-30asintl.h/bucomm.h/ld.h: Prevent the inclusion of <libintl.h> from the SolarisNick Clifton1-0/+36
version of <locale.h> when ENABLE_NLS is not defined. gprof.c (main):Only invoke bindtextdomain() and textdomain() if ENABLE_NLS is defined.
2005-06-09 * ld.h (lang_phase_type): Move to..Alan Modra1-6/+0
* ldexp.h: ..here. Add lang_mark_phase_enum. (node_type): Remove etree_undef and etree_unspec. (exp_data_seg): Delete. (struct ldexp_control, expld): New. (invalid, exp_mark_used_section): Delete. (exp_fold_tree, exp_get_vma, exp_get_value_int, exp_get_fill, exp_get_abs_int): Update prototypes. * ldexp.c (assigning_to_dot): Delete. (expld): Define. (make_abs): Operate directly on expld.result. Update all callers. (new_abs): Likewise. Return void. (new_rel_from_abs): Rename from new_rel_from_section. (new_rel, new_rel_from_abs): Operate on expld.result and return void. Update all callers. (fold_unary): Operate on expld.result and return void. Remove "current_section", "allocation_done", "dot", "dotp" and "mark_used" params. Update all callers. (fold_binary, fold_trinary, fold_name, exp_fold_tree_1): Likewise. (fold_unary <ALIGN_K>): Ensure alignment is absolute. (fold_unary <ABSOLUTE>): Use make_abs. (fold_unary <DATA_SEGMENT_END>): Evaluate mark_phase as for allocating_phase. (fold_binary <DATA_SEGMENT_ALIGN, DATA_SEGMENT_RELRO_END, >): Ditto. (fold_binary <'%','/'>): Don't error if marking. (fold_name <SIZEOF_HEADERS>): Don't call bfd_sizeof_headers when marking. (fold_name <NAME>): Remove FIXME; -R is handled correctly. Don't error when marking. (fold_name <ADDR, LOADADDR, SIZEOF>): Don't set SEC_KEEP. (exp_fold_tree_1): Don't error when marking. (exp_fold_tree_1 <etree_rel>): Evaluate in all phases except first. (exp_fold_tree_1 <etree_assign to dot>): Don't check for NULL current section, instead check for NULL dotp. (exp_fold_tree_1 <etree_provide>): Don't evaluate the assignment source unless the symbol is referenced and undefined. (exp_fold_tree): Remove "allocation_done" and "dot" params. Save params to expld. (exp_fold_tree_no_dot): Remove "current_section", "allocation_done and "mark_used" params. Save params to expld. Update all callers. (exp_assop): Do without temp var. (exp_print_tree <etree_undef>): Delete code. (exp_get_vma): Remove "allocation_done" param. Correct error return. (exp_get_fill, exp_get_abs_int): Likewise. (exp_get_value_int): Remove "allocation_done" param. (exp_mark_used_section): Delete. * ldgram.y (fill_exp): Update exp_get_fill call. (origin_spec, length_spec): Update exp_get_vma call. * ldlang.c (lang_init): Don't bother clearing lang_statement_iteration. (lang_mark_used_section_1, lang_mark_used_section): Delete. (strip_excluded_output_sections): Call one_lang_size_sections_pass in marking mode. Merge old lang_mark_used_section code. Correct handling of output sections with excluded input sections and data statements. Don't drop non-zero sized sections. Don't zap os->bfd_section. Do set SEC_EXCLUDE when appropriate. (print_output_section_statement): Update for changed ldexp.c interface. (print_assignment, lang_size_sections_1): Likewise. (lang_do_assignments_1, lang_enter_output_section_statement): Likewise. (lang_new_phdr, lang_record_phdrs): Likewise. (lang_size_sections): Likewise. (insert_pad): Use following statement if it is a pad, rather than creating a new one. (lang_size_sections_1 <lang_output_section_statement_enum>): Do process ignored output section to set vma and lma, but don't update dot for these sections. Don't error if marking. (lang_size_sections_1 <lang_assignment_statement_enum>): Don't update dot for ignored sections. (lang_size_sections_1 <lang_data_statement_enum>): Don't mark absolute section with SEC_ALLOC. (one_lang_size_sections_pass): New function. (lang_size_sections): Remove first five params. Set expld.phase on entry and exit. Use one_lang_size_sections_pass. (lang_do_assignments): Remove all params. Update all callers. (lang_reset_memory_regions): Clear os->processed for all output section statements. * ldlang.h (lang_do_assignments): Update prototype. (lang_size_sections): Likewise. (one_lang_size_sections_pass): Declare. * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update lang_size_sections and lang_do_assignments calls. * emultempl/elf32.em (layout_sections_again): Likewise. * emultempl/ppc64elf.em (ppc_before_allocation): Use one_lang_size_sections_pass.
2005-05-12Update FSF addressesNick Clifton1-2/+2
2005-04-062005-04-06 Jakub Jelinek <jakub@redhat.com>Jakub Jelinek1-14/+1
* ldlang.c: Formatting. (walk_wild_consider_section): Remember return value from wildcardp. (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen. (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen. 2005-04-06 Robert O'Callahan <rocallahan@novell.com> * ld.h (lean_section_userdata_type): Remove. (fat_section_userdata_type): Remove file field. (SECTION_USERDATA_SIZE): Remove. * ldlang.c (init_os): Eliminate initialization of unused lean_section_userdata_type. * ldlang.h (callback_t, walk_wild_section_handler_t): New typedefs. (struct lang_wild_statement_struct): Add walk_wild_section_handler and handler_data fields. * ldlang.c (callback_t): Removed. (walk_wild_consider_section, walk_wild_section_general, section_iterator_callback, find_section, is_simple_wild, match_simple_wild, walk_wild_section_specs1_wild0, walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1, walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2, wild_spec_can_overlap, analyze_walk_wild_section_handler): New functions. (lang_add_wild): Call analyze_walk_wild_section_handler. (walk_wild_section): Renamed to walk_wild_section_general and created a wrapper function. (section_iterator_callback_data): New typedef.
2005-03-16bfd/H.J. Lu1-3/+0
2005-03-16 H.J. Lu <hongjiu.lu@intel.com> * elflink.c (elf_mark_used_section): New. (bfd_elf_gc_sections): Call elf_gc_mark_section for non-relocatable link if we don't do GC. include/ 2005-03-16 H.J. Lu <hongjiu.lu@intel.com> * bfdlink.h (bfd_link_info): Add gc_sections. ld/ 2005-03-16 H.J. Lu <hongjiu.lu@intel.com> * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove unused empty output sections for non-relocatable link. * ld.h (args_type): Remove gc_sections. * ldlang.c (lang_mark_used_section): New. (lang_gc_sections): Use link_info.gc_sections instead of command_line.gc_sections. * ldmain.c (main): Likewise. * lexsup.c (parse_args): Likewise. * ldlang.c (lang_process): Call lang_mark_used_section. * ldmain.c (main): Initialize link_info.gc_sections to FALSE. ld/testsuite/ 2005-03-16 H.J. Lu <hongjiu.lu@intel.com> * ld-alpha/tlsbin.rd: Updated for empty section removal. * ld-alpha/tlsbinr.rd: Likewise. * ld-alpha/tlspic.rd: Likewise. * ld-arm/mixed-lib.sym: Likewise. * ld-i386/tlsbin.rd: Likewise. * ld-i386/tlsnopic.rd: Likewise. * ld-i386/tlspic.rd: Likewise. * ld-ia64/tlsbin.rd: Likewise. * ld-ia64/tlspic.rd: Likewise. * ld-powerpc/apuinfo.rd: Likewise. * ld-powerpc/powerpc.exp: Likewise. * ld-powerpc/tlsexe32.r: Likewise. * ld-s390/tlsbin.rd: Likewise. * ld-s390/tlsbin_64.rd: Likewise. * ld-s390/tlspic.rd: Likewise. * ld-s390/tlspic_64.rd: Likewise. * ld-sh/tlsbin-2.d: Likewise. * ld-sh/tlspic-2.d: Likewise. * ld-sparc/tlssunbin32.rd: Likewise. * ld-sparc/tlssunnopic32.rd: Likewise. * ld-sparc/tlssunpic32.rd: Likewise. * ld-x86-64/tlsbin.rd: Likewise. * ld-x86-64/tlspic.rd: Likewise.
2005-03-03update copyright datesAlan Modra1-1/+2
2004-10-04ld/H.J. Lu1-3/+8
2004-10-04 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and --sort-section name|alignment. * ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and --sort-section name|alignment. * ld.h (sort_type): New enum. (wildcard_spec): Change the type of `sorted' to sort_type. * ldgram.y (SORT): Removed. (SORT_BY_NAME): Added. (SORT_BY_ALIGNMENT): Added. (wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and SORT_BY_ALIGNMENT. (input_section_spec_no_keep): Updated `sorted'. (statement): Replace SORT with SORT_BY_NAME. * ldlang.c (compare_section): New function to compare 2 sections with different sorting schemes. (wild_sort): Updated. Use compare_section. (update_wild_statements): New function. (lang_process): Call update_wild_statements before map_input_to_output_sections. * ldlex.l (SORT_BY_NAME): New. (SORT_BY_ALIGNMENT): New. (SORT): Return SORT_BY_NAME. * ldmain.c (sort_section): New. Defined. (main): Initialize it to none. * lexsup.c (option_values): Add OPTION_SORT_SECTION. (ld_options): Add an entry for OPTION_SORT_SECTION. (parse_args): Handle OPTION_SORT_SECTION. * mri.c (mri_draw_tree): Updated `sorted'. ld/testsuite/ 2004-10-04 H.J. Lu <hongjiu.lu@intel.com> * ld-scripts/sort.exp: New file for section sorting tests. * ld-scripts/sort_b_a.d: Likewise * ld-scripts/sort_b_a.s: Likewise * ld-scripts/sort_b_a.t: Likewise * ld-scripts/sort_b_a_a-1.d: Likewise * ld-scripts/sort_b_a_a-2.d: Likewise * ld-scripts/sort_b_a_a-3.d: Likewise * ld-scripts/sort_b_a_a.t: Likewise * ld-scripts/sort_b_a_n-1.d: Likewise * ld-scripts/sort_b_a_n-2.d: Likewise * ld-scripts/sort_b_a_n-3.d: Likewise * ld-scripts/sort_b_a_n.t: Likewise * ld-scripts/sort_b_n.d: Likewise * ld-scripts/sort_b_n.s: Likewise * ld-scripts/sort_b_n.t: Likewise * ld-scripts/sort_b_n_a-1.d: Likewise * ld-scripts/sort_b_n_a-2.d: Likewise * ld-scripts/sort_b_n_a-3.d: Likewise * ld-scripts/sort_b_n_a.t: Likewise * ld-scripts/sort_b_n_n-1.d: Likewise * ld-scripts/sort_b_n_n-2.d: Likewise * ld-scripts/sort_b_n_n-3.d: Likewise * ld-scripts/sort_b_n_n.t: Likewise * ld-scripts/sort_n_a-a.s: Likewise * ld-scripts/sort_n_a-b.s: Likewise * ld-scripts/sort_no-1.d: Likewise * ld-scripts/sort_no-2.d: Likewise * ld-scripts/sort_no.t: Likewise
2004-05-21Add --hash-size switch to the linkerNick Clifton1-1/+4
2004-05-19 * NEWS: Mention new linker map file generation and theJoern Rennecke1-3/+28
--reduce-memory-overheads option. * ld.texinfo: Document --reduce-memory-overheads option. * ld.h (map_symbol_def): New struct. (struct user_section_struct, section_userdata_type): Rename to: (struct lean_user_section_struct, lean_section_userdata_type). (struct fat_user_section_struct, fat_section_userdata_type): New. (SECTION_USERDATA_SIZE): Define. (args_type): New member reduce_memory_overheads. * ldlang.c (map_obstack): New static variable. (init_map_userdata, print_all_symbols, sort_def_symbol): New functions. (lang_map): Unless command_line.reduce_memory_overheads is set, initialize lists of defined symbols for each section. (print_input_section): Unless command_line.reduce_memory_overheads is set, use print_all_symbols. (init_os): Use lean_section_userdata_type / SECTION_USERDATA_SIZE. * ldmain.c (main): Initialize command_line.reduce_memory_overheads. * lexsup.c (enum option_values): Add OPTION_REDUCE_MEMORY_OVERHEADS. (ld_options): Add entry for --reduce-memory-overheads. (parse_args): Handle OPTION_REDUCE_MEMORY_OVERHEADS.
2003-06-28Convert to C90Alan Modra1-9/+6
2002-12-23Change linker's default behaviour - it will now reject binary files whoesNick Clifton1-0/+6
architecture it does not recognise, unless it has explicitly told to accept them.
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra1-41/+41
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-08-13 * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.Alan Modra1-8/+0
(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-05-03 * ld.h: Fix formatting.Kazu Hirata1-2/+2
* ldexp.c: Likewise. * ldfile.c: Likewise. * ldlang.c: Likewise. * ldmain.c: Likewise. * lexsup.c: Likewise. * pe-dll.c: Likewise.
2001-11-022001-11-01 Chris Demetriou <cgd@broadcom.com>Chris Demetriou1-0/+4
* ld.texinfo (Options): Document new option, -nostdlib. * lexsup.c (OPTION_NOSTDLIB): New definition. (ld_options): Add entry for "nostdlib". (parse_args): Handle OPTIONS_NOSTDLIB. * ldfile.c (ldfile_add_library_path): Don't add directories to the search path if they weren't specified on the command line and -nostdlib was specified. * ld.h (ld_config_type): New member only_cmd_line_lib_dirs.
2001-09-29From John Reiser <jreiser@BitWagon.com>Alan Modra1-0/+3
* ldlang.c (lang_common): Conditionally inhibit Common allocation. * lexsup.c: Add --no-define-common commandline option. * ldgram.y: Add INHIBIT_COMMON_ALLOCATION script command. * ldlex.l: Likewise. * ld.h: Add command_line.inhibit_common_definition. * ldmain.c (main): Initialize. * ld.texinfo: Document.
2001-08-12Make --verbose always display linker scriptNick Clifton1-1/+1
2001-08-03 * ld.texinfo (Input Section Basics): Clarify ordering of outputAlan Modra1-0/+5
sections. * ldlang.c (callback_t): Add wildcard_list param. (walk_wild_section): Remove "section" param. Rewrite for lang_wild_statement_type change. Remove unique_section_p test. (walk_wild_file): Remove "section" param. (walk_wild): Remove "section" and "file" params. (lang_gc_wild): Likewise. (wild): Likewise. Modify for lang_wild_statement_type change. (wild_sort): Likewise. Add "sec" param. (gc_section_callback): Likewise. (output_section_callback): Likewise. Do unique_section_p test. (map_input_to_output_sections): Modify call to wild. (lang_gc_sections_1): Likewise. (print_wild_statement): Modify for lang_wild_statement_type change. (lang_add_wild): Replace filename, filenames_sorted param with filespec. Replace section_name, sections_sorted, exclude_filename_list with section_list. * ldlang.h (lang_add_wild): Here too. (lang_wild_statement_type): Replace section_name, sections_sorted, and exclude_filename_list with section_list. * ldgram.y (current_file): Delete. (%union): Add wildcard_list. (file_NAME_list): Set type to wildcard_list. Build a linked list rather than calling lang_add_wild for each entry. (input_section_spec_no_keep): Call lang_add_wild here instead. * ld.h (struct wildcard_list): Declare. * mri.c (mri_draw_tree): Modify to suit new lang_add_wild.
2001-06-18 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):Hans-Peter Nilsson1-4/+0
Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections. * mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto. * ld.h (args_type): Remove member export_dynamic. All users changed to use struct bfd_link_info member.
2001-04-13* ld.texinfo: Document --fatal-warnings.J.T. Conklin1-0/+3
* ld.1: Regenerate. * ldmisc.c (vfinfo): Set flag to inhibit making executable if warnings have been turned into errors. * lexsup.c (OPTION_WARN_FATAL): Define. (ld_options): Entry for --fatal-warnings. (parse_args): Handle OPTION_WARN_FATAL. * ld.h (ld_config_type): Add fatal_warnings field.
2001-03-13Fixtypos in ChangeLogs, fix copyright dates in filesNick Clifton1-1/+1
2000-10-092000-10-09 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-15/+10
* ldcref.c: Fix formatting. * ldctor.h: Likewise. * ldemul.c: Likewise. * ldemul.h: Likewise. * ldexp.c: Likewise. * ldexp.h: Likewise. * ldfile.c: Likewise. * ldfile.h: Likewise. * ld.h: Likewise. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldmain.c: Likewise.
2000-09-292000-09-29 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-4/+3
* deffile.h: Fix formatting. * ld.h: Likewise. * ldctor.h: Likewise. * ldemul.h: Likewise. * ldexp.h: Likewise. * ldfile.h: Likewise. * ldlang.h: Likewise. * lexsup.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise.
2000-09-05--split-by-reloc, --split-by-file extensions. --unique option.Alan Modra1-2/+6
2000-05-13Quell some gcc warnings by defining textdomain and bindtextdomainAlan Modra1-6/+5
as intl/libgettext.h does.
2000-04-29Correctly check gcc version.Alan Modra1-2/+2
2000-04-03Move bug report string to one place.Alan Modra1-0/+2
2000-01-05 * ld.h (wildcard_spec): Change exclude_name to exclude_name_list.Catherine Moore1-2/+9
(name_list): New. * ld.texinfo (EXCLUDE_FILE): Update documentation. * ldgram.y (wildcard_spec): Support a list of excluded_files. (exclude_name_list): New. ldlang.c (walk_wild_section): Support list of excluded files. (print_wild_statement): Likewise. (lang_add_wild): Likewise. * ldlang.h (lang_wild_statement_type): Likewise. * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
1999-09-121999-09-12 Donn Terry <donn@interix.com>Ian Lance Taylor1-0/+11
* ld.h (ld_abort): Declare. (abort): Define. * ldmisc.c (ld_abort): Define.
1999-05-0319990502 sourceware importbinu_ss_19990502Richard Henderson1-0/+226