1da0c48c4Sopenharmony_ci2022-10-28 Arsen Arsenović <arsen@aarsen.me> 2da0c48c4Sopenharmony_ci 3da0c48c4Sopenharmony_ci * readelf.c (options): Add Binutils-style --syms alias. 4da0c48c4Sopenharmony_ci 5da0c48c4Sopenharmony_ci2022-10-19 Mark Wielaard <mark@klomp.org> 6da0c48c4Sopenharmony_ci 7da0c48c4Sopenharmony_ci * readelf.c (dwarf_loc_list_encoding_string): Handle 8da0c48c4Sopenharmony_ci DW_LLE_GNU_view_pair. 9da0c48c4Sopenharmony_ci (print_debug_loclists_section): Likewise. 10da0c48c4Sopenharmony_ci 11da0c48c4Sopenharmony_ci2022-09-20 Yonggang Luo <luoyonggang@gmail.com> 12da0c48c4Sopenharmony_ci 13da0c48c4Sopenharmony_ci * arlib.h: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN. 14da0c48c4Sopenharmony_ci 15da0c48c4Sopenharmony_ci2022-08-28 Mark Wielaard <mark@klomp.org> 16da0c48c4Sopenharmony_ci 17da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Predecrement instance before compare 18da0c48c4Sopenharmony_ci to zero. 19da0c48c4Sopenharmony_ci (do_oper_delete): Likewise. 20da0c48c4Sopenharmony_ci 21da0c48c4Sopenharmony_ci2022-08-10 Andreas Schwab <schwab@suse.de> 22da0c48c4Sopenharmony_ci 23da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Also handle SHT_RISCV_ATTRIBUTES. 24da0c48c4Sopenharmony_ci 25da0c48c4Sopenharmony_ci2022-08-09 Andreas Schwab <schwab@suse.de> 26da0c48c4Sopenharmony_ci 27da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Don't complain about p_filesz 28da0c48c4Sopenharmony_ci > p_memsz if p_memsz is zero and p_type is PT_RISCV_ATTRIBUTES. 29da0c48c4Sopenharmony_ci 30da0c48c4Sopenharmony_ci2022-08-01 Mark Wielaard <mark@klomp.org> 31da0c48c4Sopenharmony_ci 32da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic): Pass start of buffer to memrchr. 33da0c48c4Sopenharmony_ci Use dyn->d_un.d_val for offsets instead of d_ptr. 34da0c48c4Sopenharmony_ci 35da0c48c4Sopenharmony_ci2022-04-28 Di Chen <dichen@redhat.com> 36da0c48c4Sopenharmony_ci 37da0c48c4Sopenharmony_ci * readelf.c (options): Add use-dynamic 'D'. 38da0c48c4Sopenharmony_ci (use_dynamic_segment): New static bool. 39da0c48c4Sopenharmony_ci (enum dyn_idx): New. 40da0c48c4Sopenharmony_ci (get_dynscn_strtab): New function. 41da0c48c4Sopenharmony_ci (get_dynscn_addrs): Likewise. 42da0c48c4Sopenharmony_ci (find_offsets): Likewise. 43da0c48c4Sopenharmony_ci (parse_opt): Handle 'D'. 44da0c48c4Sopenharmony_ci (handle_dynamic): New argument phdr. Get data either through the shdr 45da0c48c4Sopenharmony_ci or phdr. Print segment info when use_dynamic_segment. Use 46da0c48c4Sopenharmony_ci get_dynscn_strtab. Get library name and paths through strtab_data. 47da0c48c4Sopenharmony_ci 48da0c48c4Sopenharmony_ci2022-05-09 Mark Wielaard <mark@klomp.org> 49da0c48c4Sopenharmony_ci 50da0c48c4Sopenharmony_ci * strip.c (remove_debug_relocations): Check gelf_getshdr, gelf_getrela, 51da0c48c4Sopenharmony_ci gelf_getrel and gelf_getsymshndx don't return NULL. 52da0c48c4Sopenharmony_ci 53da0c48c4Sopenharmony_ci2022-05-10 Mark Wielaard <mark@klomp.org> 54da0c48c4Sopenharmony_ci 55da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Sanity check shstrtab_name, 56da0c48c4Sopenharmony_ci shstrtab_newname and symstrents are only set once. 57da0c48c4Sopenharmony_ci 58da0c48c4Sopenharmony_ci2022-04-24 Mark Wielaard <mark@klomp.org> 59da0c48c4Sopenharmony_ci 60da0c48c4Sopenharmony_ci * elfclassify.c (main): Use classify_flag_no_stdin for no-std in options. 61da0c48c4Sopenharmony_ci 62da0c48c4Sopenharmony_ci2022-04-19 Mark Wielaard <mark@klomp.org> 63da0c48c4Sopenharmony_ci 64da0c48c4Sopenharmony_ci * readelf.c (get_dyn_ents): Define dyn_mem outside the while loop. 65da0c48c4Sopenharmony_ci 66da0c48c4Sopenharmony_ci2022-03-01 Di Chen <dichen@redhat.com> 67da0c48c4Sopenharmony_ci 68da0c48c4Sopenharmony_ci * readelf.c (get_dyn_ents): New function. 69da0c48c4Sopenharmony_ci (handle_dynamic): Use get_dyn_ents to get the actual number of 70da0c48c4Sopenharmony_ci Dynamic entries in the section. 71da0c48c4Sopenharmony_ci 72da0c48c4Sopenharmony_ci2022-03-27 Mark Wielaard <mark@klomp.org> 73da0c48c4Sopenharmony_ci 74da0c48c4Sopenharmony_ci * addr2line.c: Replace error (EXIT_FAILURE, ...) with error_exit(...). 75da0c48c4Sopenharmony_ci * ar.c: Likewise. 76da0c48c4Sopenharmony_ci * arlib.c: Likewise. 77da0c48c4Sopenharmony_ci * elfcompress.c: Likewise. 78da0c48c4Sopenharmony_ci * nm.c: Likewise. 79da0c48c4Sopenharmony_ci * objdump.c: Likewise. 80da0c48c4Sopenharmony_ci * readelf.c: Likewise. 81da0c48c4Sopenharmony_ci * size.c: Likewise. 82da0c48c4Sopenharmony_ci * strings.c: Likewise. 83da0c48c4Sopenharmony_ci * strip.c: Likewise. 84da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 85da0c48c4Sopenharmony_ci 86da0c48c4Sopenharmony_ci2022-03-24 Mark Wielaard <mark@klomp.org> 87da0c48c4Sopenharmony_ci 88da0c48c4Sopenharmony_ci * elflint.c (check_note_data): Recognize NT_FDO_PACKAGING_METADATA. 89da0c48c4Sopenharmony_ci 90da0c48c4Sopenharmony_ci2022-03-11 Mark Wielaard <mark@klomp.org> 91da0c48c4Sopenharmony_ci 92da0c48c4Sopenharmony_ci * addr2line.c (OPT_RELATIVE): New constant. 93da0c48c4Sopenharmony_ci (options): Add --relative. 94da0c48c4Sopenharmony_ci (use_comp_dir): Initialize to true. 95da0c48c4Sopenharmony_ci (parse_opt): Handle OPT_RELATIVE. 96da0c48c4Sopenharmony_ci 97da0c48c4Sopenharmony_ci2021-12-04 Mark Wielaard <mark@klomp.org> 98da0c48c4Sopenharmony_ci 99da0c48c4Sopenharmony_ci * readelf.c (print_ehdr): Pass sizeof (buf) - 1 to strncpy. 100da0c48c4Sopenharmony_ci 101da0c48c4Sopenharmony_ci2021-10-20 John M Mellor-Crummey <johnmc@rice.edu> 102da0c48c4Sopenharmony_ci 103da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Try to read 104da0c48c4Sopenharmony_ci debug_str_offset if available. Handle DW_LNE_NVIDIA_inlined_call 105da0c48c4Sopenharmony_ci and DW_LNE_NVIDIA_set_function_name. 106da0c48c4Sopenharmony_ci 107da0c48c4Sopenharmony_ci2021-10-06 Mark Wielaard <mark@klomp.org> 108da0c48c4Sopenharmony_ci 109da0c48c4Sopenharmony_ci * elflint.c (check_sections): Don't dereference databits if bad. 110da0c48c4Sopenharmony_ci 111da0c48c4Sopenharmony_ci2021-09-09 Dmitry V. Levin <ldv@altlinux.org> 112da0c48c4Sopenharmony_ci 113da0c48c4Sopenharmony_ci * findtextrel.c: Include "libeu.h". 114da0c48c4Sopenharmony_ci (open_rootdir_file): New function. 115da0c48c4Sopenharmony_ci (process_file): Use it to open file inside rootdir. 116da0c48c4Sopenharmony_ci * Makefile.am (findtextrel_no_Wstack_usage): Remove. 117da0c48c4Sopenharmony_ci 118da0c48c4Sopenharmony_ci2021-09-06 Dmitry V. Levin <ldv@altlinux.org> 119da0c48c4Sopenharmony_ci 120da0c48c4Sopenharmony_ci * objdump.c (show_disasm): Replace asprintf followed by 121da0c48c4Sopenharmony_ci error(EXIT_FAILURE) with xasprintf. 122da0c48c4Sopenharmony_ci * readelf.c (handle_gnu_hash): Likewise. 123da0c48c4Sopenharmony_ci * unstrip.c (handle_output_dir_module, main): Likewise. 124da0c48c4Sopenharmony_ci 125da0c48c4Sopenharmony_ci * elflint.c (check_sections): Remove cast of xcalloc return value. 126da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Remove casts of malloc and realloc 127da0c48c4Sopenharmony_ci return values. 128da0c48c4Sopenharmony_ci * nm.c (get_local_names, show_symbols_sysv, show_symbols): Remove 129da0c48c4Sopenharmony_ci casts of xmalloc return values. 130da0c48c4Sopenharmony_ci * readelf.c (print_hash_info, handle_sysv_hash, handle_sysv_hash64, 131da0c48c4Sopenharmony_ci handle_gnu_hash): Remove cast of xcalloc return value. 132da0c48c4Sopenharmony_ci (print_debug_units): Remove casts of xmalloc return values. 133da0c48c4Sopenharmony_ci * strip.c (handle_elf): Remove casts of xcalloc and xmalloc return 134da0c48c4Sopenharmony_ci values. 135da0c48c4Sopenharmony_ci 136da0c48c4Sopenharmony_ci2021-09-05 Dmitry V. Levin <ldv@altlinux.org> 137da0c48c4Sopenharmony_ci 138da0c48c4Sopenharmony_ci * Makefile.am (AM_LDFLAGS): Add $(STACK_USAGE_NO_ERROR). 139da0c48c4Sopenharmony_ci 140da0c48c4Sopenharmony_ci2021-08-20 Saleem Abdulrasool <abdulras@google.com> 141da0c48c4Sopenharmony_ci 142da0c48c4Sopenharmony_ci * elfclassify.c: Remove error.h include. 143da0c48c4Sopenharmony_ci 144da0c48c4Sopenharmony_ci2021-03-18 Timm Bäder <tbaeder@redhat.com> 145da0c48c4Sopenharmony_ci 146da0c48c4Sopenharmony_ci * readelf.c (run_advance_pc): New static inline function 147da0c48c4Sopenharmony_ci lifted from... 148da0c48c4Sopenharmony_ci (print_debug_line_section): ... here. Define advance_pc 149da0c48c4Sopenharmony_ci using run_advance_pc. 150da0c48c4Sopenharmony_ci 151da0c48c4Sopenharmony_ci2021-07-03 Mark Wielaard <mark@klomp.org> 152da0c48c4Sopenharmony_ci 153da0c48c4Sopenharmony_ci * readelf.c (compare_listptr): Fix dwarf_attr_name argument. 154da0c48c4Sopenharmony_ci 155da0c48c4Sopenharmony_ci2021-06-18 Mark Wielaard <mark@klomp.org> 156da0c48c4Sopenharmony_ci 157da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Check gelf_getrel and geld_getrela. 158da0c48c4Sopenharmony_ci 159da0c48c4Sopenharmony_ci2021-06-18 Mark Wielaard <mark@klomp.org> 160da0c48c4Sopenharmony_ci 161da0c48c4Sopenharmony_ci * strip.c (remove_debug_relocations): Check gelf_update results. 162da0c48c4Sopenharmony_ci (update_section_size): Likewise. 163da0c48c4Sopenharmony_ci 164da0c48c4Sopenharmony_ci2021-06-06 Sergei Trofimovich <slyfox@gentoo.org> 165da0c48c4Sopenharmony_ci 166da0c48c4Sopenharmony_ci * elflint.c (buffer_left): Mark as 'static' to avoid external linkage 167da0c48c4Sopenharmony_ci failure. 168da0c48c4Sopenharmony_ci 169da0c48c4Sopenharmony_ci2021-05-12 Dmitry V. Levin <ldv@altlinux.org> 170da0c48c4Sopenharmony_ci 171da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Return 1 instead of -1 in case of an 172da0c48c4Sopenharmony_ci error. 173da0c48c4Sopenharmony_ci 174da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Remove redundant assignment in case of 175da0c48c4Sopenharmony_ci "Nothing to do". 176da0c48c4Sopenharmony_ci 177da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Set res to 0 in case of "Nothing to do". 178da0c48c4Sopenharmony_ci 179da0c48c4Sopenharmony_ci2021-04-19 Martin Liska <mliska@suse.cz> 180da0c48c4Sopenharmony_ci 181da0c48c4Sopenharmony_ci * elfclassify.c (run_classify): Use startswith. 182da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Likewise. 183da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Likewise. 184da0c48c4Sopenharmony_ci * readelf.c (print_debug): Likewise. 185da0c48c4Sopenharmony_ci (handle_notes_data): Likewise. 186da0c48c4Sopenharmony_ci (dump_data_section): Likewise. 187da0c48c4Sopenharmony_ci (print_string_section): Likewise. 188da0c48c4Sopenharmony_ci * strip.c (remove_debug_relocations): Likewise. 189da0c48c4Sopenharmony_ci 190da0c48c4Sopenharmony_ci2021-04-03 Mark Wielaard <mark@klomp.org> 191da0c48c4Sopenharmony_ci 192da0c48c4Sopenharmony_ci * nm.c (show_symbols): close dwfl_fd if dwfl_begin fails. 193da0c48c4Sopenharmony_ci 194da0c48c4Sopenharmony_ci2021-04-03 Mark Wielaard <mark@klomp.org> 195da0c48c4Sopenharmony_ci 196da0c48c4Sopenharmony_ci * unstrip.c (handle_output_dir_module): Free output_file when done. 197da0c48c4Sopenharmony_ci 198da0c48c4Sopenharmony_ci2021-04-03 Mark Wielaard <mark@klomp.org> 199da0c48c4Sopenharmony_ci 200da0c48c4Sopenharmony_ci * ar.c (do_oper_insert): Always close newfd. 201da0c48c4Sopenharmony_ci 202da0c48c4Sopenharmony_ci2021-03-03 Mark Wielaard <mark@klomp.org> 203da0c48c4Sopenharmony_ci 204da0c48c4Sopenharmony_ci * readelf.c (handle_symtab): Sanity check verneed vna_next, 205da0c48c4Sopenharmony_ci vn_next and verdef vd_next offsets. 206da0c48c4Sopenharmony_ci 207da0c48c4Sopenharmony_ci2021-03-02 Timm Bäder <tbaeder@redhat.com> 208da0c48c4Sopenharmony_ci 209da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Remove cleanup() function and 210da0c48c4Sopenharmony_ci replace it with a cleanup label at the end of the function. 211da0c48c4Sopenharmony_ci Initialize res to -1. 212da0c48c4Sopenharmony_ci 213da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 214da0c48c4Sopenharmony_ci 215da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Move get_sections function... 216da0c48c4Sopenharmony_ci (get_section): ...to top-level static function taking an 217da0c48c4Sopenharmony_ci sections array and shnum. 218da0c48c4Sopenharmony_ci 219da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 220da0c48c4Sopenharmony_ci 221da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Move get_section function... 222da0c48c4Sopenharmony_ci (get_section): ...to top-level static function taking an 223da0c48c4Sopenharmony_ci sections array. 224da0c48c4Sopenharmony_ci 225da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 226da0c48c4Sopenharmony_ci 227da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Move set_section function... 228da0c48c4Sopenharmony_ci (set_section): ...to top-level static function taking a 229da0c48c4Sopenharmony_ci section array. 230da0c48c4Sopenharmony_ci 231da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 232da0c48c4Sopenharmony_ci 233da0c48c4Sopenharmony_ci * unstrip.c (handle_implicit_modules): Inline the next function 234da0c48c4Sopenharmony_ci in three places. This is simply dwfl_getmodules with match_module 235da0c48c4Sopenharmony_ci callback providing mmi. 236da0c48c4Sopenharmony_ci 237da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 238da0c48c4Sopenharmony_ci 239da0c48c4Sopenharmony_ci * unstrip.c (handle_explicit_files): Move warn function... 240da0c48c4Sopenharmony_ci (warn): ...here as top-level static function taking stripped, 241da0c48c4Sopenharmony_ci unstripped files and force flag as extra arguments. 242da0c48c4Sopenharmony_ci 243da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 244da0c48c4Sopenharmony_ci 245da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Inline find_unalloc_section 246da0c48c4Sopenharmony_ci function into calling location. The sec pointer is set to NULL 247da0c48c4Sopenharmony_ci before the if-else statement and only set when match is found. 248da0c48c4Sopenharmony_ci 249da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 250da0c48c4Sopenharmony_ci 251da0c48c4Sopenharmony_ci * unstrip.c (find_alloc_sections_prelink): Move check_match to... 252da0c48c4Sopenharmony_ci (check_match): Adjusted to return whether there was no match, 253da0c48c4Sopenharmony_ci which indicates a failure. So callers are adjusted to or the 254da0c48c4Sopenharmony_ci result into a local fail boolean. 255da0c48c4Sopenharmony_ci 256da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 257da0c48c4Sopenharmony_ci 258da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Move adjust_reloc function to... 259da0c48c4Sopenharmony_ci (adjust_reloc): ... here as static top-level function taking 260da0c48c4Sopenharmony_ci a map array and size as extra arguments. 261da0c48c4Sopenharmony_ci 262da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 263da0c48c4Sopenharmony_ci 264da0c48c4Sopenharmony_ci * elflint.c (check_attributes): Rename and move left function... 265da0c48c4Sopenharmony_ci (buffer_left): ...as static toplevel function taking both an 266da0c48c4Sopenharmony_ci Elf_Data pointer argument and the unsigned char pointer p. 267da0c48c4Sopenharmony_ci 268da0c48c4Sopenharmony_ci2021-02-17 Timm Bäder <tbaeder@redhat.com> 269da0c48c4Sopenharmony_ci 270da0c48c4Sopenharmony_ci * elflint.c (check_attributes): Rename and move pos function... 271da0c48c4Sopenharmony_ci (buffer_pos): ...as static toplevel function taking an extra 272da0c48c4Sopenharmony_ci Elf_Data pointer argument. 273da0c48c4Sopenharmony_ci 274da0c48c4Sopenharmony_ci2021-02-12 Mark Wielaard <mark@klomp.org> 275da0c48c4Sopenharmony_ci 276da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Type DIE offset is from start CU. 277da0c48c4Sopenharmony_ci 278da0c48c4Sopenharmony_ci2021-02-12 Mark Wielaard <mark@klomp.org> 279da0c48c4Sopenharmony_ci 280da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Don't handle blocks as expression 281da0c48c4Sopenharmony_ci blocks for DWARF version 4 or higher. 282da0c48c4Sopenharmony_ci 283da0c48c4Sopenharmony_ci2021-02-03 Timm Bäder <tbaeder@redhat.com> 284da0c48c4Sopenharmony_ci 285da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Extract should_truncate_fname function 286da0c48c4Sopenharmony_ci to... 287da0c48c4Sopenharmony_ci (should_truncate_fname): ...here. New file scope function taking 288da0c48c4Sopenharmony_ci size_t pointer to be read and/or set. 289da0c48c4Sopenharmony_ci 290da0c48c4Sopenharmony_ci2021-02-02 Timm Bäder <tbaeder@redhat.com> 291da0c48c4Sopenharmony_ci 292da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Remove unnecessary 293da0c48c4Sopenharmony_ci show_op_index variable, replace with (op_index > 0). 294da0c48c4Sopenharmony_ci 295da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 296da0c48c4Sopenharmony_ci 297da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Lift regname function to... 298da0c48c4Sopenharmony_ci (regname): ...here. New file scope function add ebl and regnamebuf 299da0c48c4Sopenharmony_ci as arguments. 300da0c48c4Sopenharmony_ci 301da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 302da0c48c4Sopenharmony_ci 303da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Lift left function to... 304da0c48c4Sopenharmony_ci (left): ...here. New file scope function taking Elf_Data and char 305da0c48c4Sopenharmony_ci pointers. 306da0c48c4Sopenharmony_ci 307da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 308da0c48c4Sopenharmony_ci 309da0c48c4Sopenharmony_ci * readelf.c (handle_core_registers): Lift same_set function to... 310da0c48c4Sopenharmony_ci (same_set): ...here. New file scope function adding regs and 311da0c48c4Sopenharmony_ci maxnreg arguments. 312da0c48c4Sopenharmony_ci 313da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 314da0c48c4Sopenharmony_ci 315da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Lift add_dump_section function to... 316da0c48c4Sopenharmony_ci (add_dump_section): ...here. New top level function. Added key 317da0c48c4Sopenharmony_ci argument. 318da0c48c4Sopenharmony_ci 319da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 320da0c48c4Sopenharmony_ci 321da0c48c4Sopenharmony_ci * arlib-argp.c (help_filter): Lift text_for_default function to... 322da0c48c4Sopenharmony_ci (text_for_default): ... here. New file scope function taking text 323da0c48c4Sopenharmony_ci as argument. 324da0c48c4Sopenharmony_ci 325da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 326da0c48c4Sopenharmony_ci 327da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Move show_note and show_int up to 328da0c48c4Sopenharmony_ci file scope. 329da0c48c4Sopenharmony_ci (show_note: New static inline function. 330da0c48c4Sopenharmony_ci (show_int): Likewise. 331da0c48c4Sopenharmony_ci 332da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 333da0c48c4Sopenharmony_ci 334da0c48c4Sopenharmony_ci * strip.c (handle_elf): Remove no_symtab_updates function and 335da0c48c4Sopenharmony_ci calls inside the switch statement. Add checks and (possibly) 336da0c48c4Sopenharmony_ci continue, before switch statement is called. 337da0c48c4Sopenharmony_ci 338da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 339da0c48c4Sopenharmony_ci 340da0c48c4Sopenharmony_ci * strip.c (handle_elf): Move inlined update_section_size function 341da0c48c4Sopenharmony_ci to... 342da0c48c4Sopenharmony_ci (update_section_size): ...here. New static function that takes as 343da0c48c4Sopenharmony_ci extra arguments the Elf_Scn, debug_elf, section cnt and fname. 344da0c48c4Sopenharmony_ci 345da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 346da0c48c4Sopenharmony_ci 347da0c48c4Sopenharmony_ci * strip.c (remove_debug_relocations): Rewrite inlined relocate 348da0c48c4Sopenharmony_ci function to file static. Do R_*_NONE, reloc_simple_type and 349da0c48c4Sopenharmony_ci ebl_debug_scn_p checks before calling new relocate function. 350da0c48c4Sopenharmony_ci (relocate): New file static function from 351da0c48c4Sopenharmony_ci remove_debug_relocate. Remove R_*_NONE, reloc_simple_type and 352da0c48c4Sopenharmony_ci ebl_debugscn_p checks. 353da0c48c4Sopenharmony_ci 354da0c48c4Sopenharmony_ci2021-01-08 Timm Bäder <tbaeder@redhat.com> 355da0c48c4Sopenharmony_ci 356da0c48c4Sopenharmony_ci * strip.c (handle_elf): Expand inlined function check_preserved. 357da0c48c4Sopenharmony_ci 358da0c48c4Sopenharmony_ci2021-01-12 Mark Wielaard <mark@klomp.org> 359da0c48c4Sopenharmony_ci 360da0c48c4Sopenharmony_ci * elflint.c (EXTRA_SHFLAGS): New define. 361da0c48c4Sopenharmony_ci (check_sections): Use EXTRA_SHFLAGS. Add SHF_GNU_RETAIN to 362da0c48c4Sopenharmony_ci ALL_SH_FLAGS. 363da0c48c4Sopenharmony_ci 364da0c48c4Sopenharmony_ci2020-12-31 Sergei Trofimovich <slyfox@gentoo.org> 365da0c48c4Sopenharmony_ci 366da0c48c4Sopenharmony_ci * elflint.c (section_flags_string): Add NEWFLAG for GNU_RETAIN, 367da0c48c4Sopenharmony_ci ORDERED and EXCLUDE. 368da0c48c4Sopenharmony_ci 369da0c48c4Sopenharmony_ci2020-12-31 Sergei Trofimovich <slyfox@gentoo.org> 370da0c48c4Sopenharmony_ci 371da0c48c4Sopenharmony_ci * elflint.c (section_flags_string): Update cp pointer after 372da0c48c4Sopenharmony_ci snprintf for unknown flags. 373da0c48c4Sopenharmony_ci 374da0c48c4Sopenharmony_ci2020-12-16 Érico Nogueira <ericonr@disroot.org> 375da0c48c4Sopenharmony_ci 376da0c48c4Sopenharmony_ci * readelf.c (qsort_r): Use qsort for improved portability. 377da0c48c4Sopenharmony_ci 378da0c48c4Sopenharmony_ci2020-12-20 Dmitry V. Levin <ldv@altlinux.org> 379da0c48c4Sopenharmony_ci 380da0c48c4Sopenharmony_ci * .gitignore: New file. 381da0c48c4Sopenharmony_ci 382da0c48c4Sopenharmony_ci2020-12-12 Mark Wielaard <mark@klomp.org> 383da0c48c4Sopenharmony_ci 384da0c48c4Sopenharmony_ci * elflint.c (check_sections): Handle SHF_GNU_RETAIN. 385da0c48c4Sopenharmony_ci * readelf.c (print_shdr): Likewise. 386da0c48c4Sopenharmony_ci 387da0c48c4Sopenharmony_ci2020-12-16 Dmitry V. Levin <ldv@altlinux.org> 388da0c48c4Sopenharmony_ci 389da0c48c4Sopenharmony_ci * *.c: Replace gettext(...) with _(...). 390da0c48c4Sopenharmony_ci 391da0c48c4Sopenharmony_ci * unstrip.c (_): Remove. 392da0c48c4Sopenharmony_ci 393da0c48c4Sopenharmony_ci2020-12-15 Mark Wielaard <mark@klomp.org> 394da0c48c4Sopenharmony_ci 395da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Always print symbol name (if known) 396da0c48c4Sopenharmony_ci in error messages. 397da0c48c4Sopenharmony_ci 398da0c48c4Sopenharmony_ci2020-12-12 Dmitry V. Levin <ldv@altlinux.org> 399da0c48c4Sopenharmony_ci 400da0c48c4Sopenharmony_ci * ar.c (write_member, do_oper_insert): Fix spelling typo in comment. 401da0c48c4Sopenharmony_ci * elfclassify.c (issue, elf_issue, is_unstripped): Likewise. 402da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Likewise. 403da0c48c4Sopenharmony_ci * elflint.c (be_quiet, check_gnu_hash): Likewise. 404da0c48c4Sopenharmony_ci * readelf.c (print_phdr, handle_gnu_hash, 405da0c48c4Sopenharmony_ci dwarf_locexpr_opcode_string): Likewise. 406da0c48c4Sopenharmony_ci * size.c (totals_class): Likewise. 407da0c48c4Sopenharmony_ci * strings.c (read_elf): Likewise. 408da0c48c4Sopenharmony_ci * strip.c (handle_elf): Likewise. 409da0c48c4Sopenharmony_ci 410da0c48c4Sopenharmony_ci * readelf.c (print_debug_addr_section): Fix spelling typo in error 411da0c48c4Sopenharmony_ci diagnostics. 412da0c48c4Sopenharmony_ci * strip.c (options): Fix spelling typos in argp help text. 413da0c48c4Sopenharmony_ci * strings.c (options): Likewise. 414da0c48c4Sopenharmony_ci * stack.c (options): Likewise. 415da0c48c4Sopenharmony_ci 416da0c48c4Sopenharmony_ci2020-11-01 Érico N. Rolim <erico.erc@gmail.com> 417da0c48c4Sopenharmony_ci 418da0c48c4Sopenharmony_ci * unstrip.c (make_directories): Use ACCESSPERMS for mkdir. 419da0c48c4Sopenharmony_ci (handle_file): Use DEFFILEMODE for open with O_CREAT for ET_REL 420da0c48c4Sopenharmony_ci files, ACCESSPERMS otherwise. 421da0c48c4Sopenharmony_ci 422da0c48c4Sopenharmony_ci2020-11-01 Érico N. Rolim <erico.erc@gmail.com> 423da0c48c4Sopenharmony_ci 424da0c48c4Sopenharmony_ci * Makefile.am (nm_LDADD): Add obstack_LIBS. 425da0c48c4Sopenharmony_ci (ranlib_LDADD): Likewise. 426da0c48c4Sopenharmony_ci (ar_LDADD): Likewise. 427da0c48c4Sopenharmony_ci 428da0c48c4Sopenharmony_ci2020-10-27 Érico N. Rolim <erico.erc@gmail.com> 429da0c48c4Sopenharmony_ci 430da0c48c4Sopenharmony_ci * unstrip.c (make_directories): Use strndup, not strndupa. 431da0c48c4Sopenharmony_ci 432da0c48c4Sopenharmony_ci2020-09-28 Mark Wielaard <mark@klomp.org> 433da0c48c4Sopenharmony_ci 434da0c48c4Sopenharmony_ci * readelf.c (next_listptr_offset): Take idx as pointer, to be updated 435da0c48c4Sopenharmony_ci and use new Dwarf_Off as offset to match. 436da0c48c4Sopenharmony_ci (listptr_attr): New function. 437da0c48c4Sopenharmony_ci (print_debug_loclists_section): Check for DW_AT_GNU_locviews to show 438da0c48c4Sopenharmony_ci view pairs. 439da0c48c4Sopenharmony_ci (print_debug_loc_section): Adjust next_listptr_offset call. 440da0c48c4Sopenharmony_ci 441da0c48c4Sopenharmony_ci2020-09-03 Mark Wielaard <mark@klomp.org> 442da0c48c4Sopenharmony_ci 443da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Take ehdr as argument. Use it to 444da0c48c4Sopenharmony_ci recognize DW_CFA_AARCH64_negate_ra_state. 445da0c48c4Sopenharmony_ci (print_debug_frame_section): Pass ehdr to print_cfa_program. 446da0c48c4Sopenharmony_ci (print_debug): Don't warn if we dump frames, but cannot get dbg. 447da0c48c4Sopenharmony_ci 448da0c48c4Sopenharmony_ci2020-09-01 Mark Wielaard <mark@klomp.org> 449da0c48c4Sopenharmony_ci 450da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Base address entry can 451da0c48c4Sopenharmony_ci be first. 452da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 453da0c48c4Sopenharmony_ci 454da0c48c4Sopenharmony_ci2020-09-04 Mark Wielaard <mark@klomp.org> 455da0c48c4Sopenharmony_ci 456da0c48c4Sopenharmony_ci * elflint.c (special_sections): Add .debug_line_str. 457da0c48c4Sopenharmony_ci 458da0c48c4Sopenharmony_ci2020-08-26 Mark Wielaard <mark@klomp.org> 459da0c48c4Sopenharmony_ci 460da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): It is not an error if there 461da0c48c4Sopenharmony_ci are no line number statements at the end of a debug line section. 462da0c48c4Sopenharmony_ci 463da0c48c4Sopenharmony_ci2020-07-19 Mark Wielaard <mark@klomp.org> 464da0c48c4Sopenharmony_ci 465da0c48c4Sopenharmony_ci * elfclassify.c (process_current_path): Handle fwrite failing. 466da0c48c4Sopenharmony_ci 467da0c48c4Sopenharmony_ci2020-07-05 Mark Wielaard <mark@klomp.org> 468da0c48c4Sopenharmony_ci 469da0c48c4Sopenharmony_ci * stack.c (module_callback): Don't assert if dwfl_module_info fails. 470da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Produce a proper error when HAS 471da0c48c4Sopenharmony_ci section has inconsistent size or entsize. 472da0c48c4Sopenharmony_ci (match_module): Don't assert if dwfl_module_info fails. 473da0c48c4Sopenharmony_ci 474da0c48c4Sopenharmony_ci2020-06-16 Mark Wielaard <mark@klomp.org> 475da0c48c4Sopenharmony_ci 476da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Split large if statement. Call fchown 477da0c48c4Sopenharmony_ci before fchmod and explicitly ignore the return value. 478da0c48c4Sopenharmony_ci (do_oper_delete): Likewise. 479da0c48c4Sopenharmony_ci (do_oper_insert): Likewise. 480da0c48c4Sopenharmony_ci * ranlib.c (handle_file): Likewise. 481da0c48c4Sopenharmony_ci 482da0c48c4Sopenharmony_ci2020-06-16 Mark Wielaard <mark@klomp.org> 483da0c48c4Sopenharmony_ci 484da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Explicitly check and ignore 485da0c48c4Sopenharmony_ci any error from elf_compress. 486da0c48c4Sopenharmony_ci 487da0c48c4Sopenharmony_ci2020-06-07 Mark Wielaard <mark@klomp.org> 488da0c48c4Sopenharmony_ci 489da0c48c4Sopenharmony_ci * nm.c (sort_by_name_strtab): Replace by... 490da0c48c4Sopenharmony_ci (sort_by_name_elf): New static Elf pointer and ... 491da0c48c4Sopenharmony_ci (sort_by_name_ndx): New static size_t index. 492da0c48c4Sopenharmony_ci (sort_by_name): Use elf_strptr to get symbol string. 493da0c48c4Sopenharmony_ci (show_symbols): Set sort_by_name_elf and sort_by_name_ndx. 494da0c48c4Sopenharmony_ci 495da0c48c4Sopenharmony_ci2020-06-06 Mark Wielaard <mark@klomp.org> 496da0c48c4Sopenharmony_ci 497da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Skip no name and STT_FILE symbols. 498da0c48c4Sopenharmony_ci When not printing address and size pad strings. Strip "GNU_" 499da0c48c4Sopenharmony_ci prefix from binding name. 500da0c48c4Sopenharmony_ci (class_type_char): Use 'V' for weak symbols, 'C' for common 501da0c48c4Sopenharmony_ci symbols and 'T' for weak functions. 502da0c48c4Sopenharmony_ci (show_symbols_posix): Skip STT_FILE symbols. Don't print value and 503da0c48c4Sopenharmony_ci size when undefined. 504da0c48c4Sopenharmony_ci 505da0c48c4Sopenharmony_ci2020-06-04 Mark Wielaard <mark@klomp.org> 506da0c48c4Sopenharmony_ci 507da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Remove PT_GNU_PROPERTY define. 508da0c48c4Sopenharmony_ci 509da0c48c4Sopenharmony_ci2020-05-14 Mark Wielaard <mark@klomp.org> 510da0c48c4Sopenharmony_ci 511da0c48c4Sopenharmony_ci * size.c (show_bsd): Set printf format based on radix. 512da0c48c4Sopenharmony_ci 513da0c48c4Sopenharmony_ci2020-05-09 Mark Wielaard <mark@klomp.org> 514da0c48c4Sopenharmony_ci 515da0c48c4Sopenharmony_ci * elflint.c (process_elf_file): Error out if ebl_openbackend fails. 516da0c48c4Sopenharmony_ci * objdump.c (handle_elf): Likewise. 517da0c48c4Sopenharmony_ci * nm.c (handle_elf): Likewise. Move full name string construction 518da0c48c4Sopenharmony_ci forward, so it can be used in the error message. 519da0c48c4Sopenharmony_ci 520da0c48c4Sopenharmony_ci2020-04-17 Mark Wielaard <mark@klomp.org> 521da0c48c4Sopenharmony_ci 522da0c48c4Sopenharmony_ci * readelf.c (print_debug): Check .gnu.debuglto_ prefix. 523da0c48c4Sopenharmony_ci 524da0c48c4Sopenharmony_ci2020-04-16 Mark Wielaard <mark@klomp.org> 525da0c48c4Sopenharmony_ci 526da0c48c4Sopenharmony_ci * elflint.c (check_sections): Mask out SHF_EXCLUDE from processor 527da0c48c4Sopenharmony_ci specific section flags when --gnu is given. 528da0c48c4Sopenharmony_ci 529da0c48c4Sopenharmony_ci2020-02-08 Mark Wielaard <mark@klomp.org> 530da0c48c4Sopenharmony_ci 531da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Handle PT_GNU_PROPERTY. 532da0c48c4Sopenharmony_ci 533da0c48c4Sopenharmony_ci2020-02-07 Mark Wielaard <mark@klomp.org> 534da0c48c4Sopenharmony_ci 535da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Check st_info isn't too big. 536da0c48c4Sopenharmony_ci 537da0c48c4Sopenharmony_ci2020-01-16 Mark Wielaard <mark@klomp.org> 538da0c48c4Sopenharmony_ci 539da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Iterate over all symbols starting 540da0c48c4Sopenharmony_ci at index zero. 541da0c48c4Sopenharmony_ci 542da0c48c4Sopenharmony_ci2019-11-26 Mark Wielaard <mark@klomp.org> 543da0c48c4Sopenharmony_ci 544da0c48c4Sopenharmony_ci * Makefile.am (BUILD_STATIC): Add libraries needed for libdw. 545da0c48c4Sopenharmony_ci 546da0c48c4Sopenharmony_ci2019-10-26 Mark Wielaard <mark@klomp.org> 547da0c48c4Sopenharmony_ci 548da0c48c4Sopenharmony_ci * unstrip.c (collect_symbols): Check symbol strings are 549da0c48c4Sopenharmony_ci terminated. 550da0c48c4Sopenharmony_ci 551da0c48c4Sopenharmony_ci2019-10-18 Mark Wielaard <mark@klomp.org> 552da0c48c4Sopenharmony_ci 553da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Set versym data d_size to the actual 554da0c48c4Sopenharmony_ci size allocated. 555da0c48c4Sopenharmony_ci 556da0c48c4Sopenharmony_ci2019-10-20 Mark Wielaard <mark@klomp.org> 557da0c48c4Sopenharmony_ci 558da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Set and check max_off. 559da0c48c4Sopenharmony_ci 560da0c48c4Sopenharmony_ci2019-10-21 Mark Wielaard <mark@klomp.org> 561da0c48c4Sopenharmony_ci 562da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Add map_size argument and check ndx 563da0c48c4Sopenharmony_ci against it. 564da0c48c4Sopenharmony_ci (adjust_all_relocs): Add map_size argument and pass it to 565da0c48c4Sopenharmony_ci adjust_relocs. 566da0c48c4Sopenharmony_ci (add_new_section_symbols): Call adjust_all_relocs with symndx_map 567da0c48c4Sopenharmony_ci size. 568da0c48c4Sopenharmony_ci (collect)symbols): Check sym and string data can be found. 569da0c48c4Sopenharmony_ci (compare_symbols_output): Call error when (different) symbols are 570da0c48c4Sopenharmony_ci equal. 571da0c48c4Sopenharmony_ci (new_shstrtab): Make unstripped_strent array one larger. Check 572da0c48c4Sopenharmony_ci stripped_shnum isn't zero. 573da0c48c4Sopenharmony_ci (copy_elided_sections): Add ndx_sec_num as size of ndx_section 574da0c48c4Sopenharmony_ci array. Check sh_link and sh_info are not larger than ndx_sec_num. 575da0c48c4Sopenharmony_ci Allocate symbols and symndx_map arrays on heap, not stack. Pass 576da0c48c4Sopenharmony_ci map sizes to adjust_all_relocs. 577da0c48c4Sopenharmony_ci 578da0c48c4Sopenharmony_ci2019-09-28 Dmitry V. Levin <ldv@altlinux.org> 579da0c48c4Sopenharmony_ci 580da0c48c4Sopenharmony_ci * elflint.c (main): When an input file cannot be opened, 581da0c48c4Sopenharmony_ci include its name into the error diagnostics. 582da0c48c4Sopenharmony_ci * readelf.c (main): Likewise. 583da0c48c4Sopenharmony_ci 584da0c48c4Sopenharmony_ci2019-09-02 Mark Wielaard <mark@klomp.org> 585da0c48c4Sopenharmony_ci 586da0c48c4Sopenharmony_ci * readelf.c (PRINT_DYNSYM_TABLE): New argp key value. 587da0c48c4Sopenharmony_ci (argp_opt): Add syn-sym. 588da0c48c4Sopenharmony_ci (print_dynsym_table): New static bool. 589da0c48c4Sopenharmony_ci (parse_opt): Handle PRINT_DYNSYM_TABLE. 590da0c48c4Sopenharmony_ci (process_elf_file): Check print_dynsym_table. 591da0c48c4Sopenharmony_ci 592da0c48c4Sopenharmony_ci2019-08-27 Mark Wielaard <mark@klomp.org> 593da0c48c4Sopenharmony_ci 594da0c48c4Sopenharmony_ci * readelf.c (for_each_section_argument): Call (*dump) also for 595da0c48c4Sopenharmony_ci section numbers. 596da0c48c4Sopenharmony_ci 597da0c48c4Sopenharmony_ci2019-08-26 Mark Wielaard <mark@klomp.org> 598da0c48c4Sopenharmony_ci 599da0c48c4Sopenharmony_ci * nm.c (show_symbols): Remember nentries_orig and check before 600da0c48c4Sopenharmony_ci freeing sym_mem. 601da0c48c4Sopenharmony_ci 602da0c48c4Sopenharmony_ci2019-07-05 Omar Sandoval <osandov@fb.com> 603da0c48c4Sopenharmony_ci 604da0c48c4Sopenharmony_ci * Makefile.am: Remove -ldl. 605da0c48c4Sopenharmony_ci (elflint_LDADD): Add $(libdw). 606da0c48c4Sopenharmony_ci (elfcmp_LDADD): Add $(libdw). 607da0c48c4Sopenharmony_ci (objdump_LDADD): Add $(libdw). 608da0c48c4Sopenharmony_ci 609da0c48c4Sopenharmony_ci2019-08-26 Mark Wielaard <mark@klomp.org> 610da0c48c4Sopenharmony_ci 611da0c48c4Sopenharmony_ci * readelf (options): Add OPTION_ARG_OPTIONAL "SECTION" for notes. 612da0c48c4Sopenharmony_ci (notes_section): New global variable. 613da0c48c4Sopenharmony_ci (parse_opt): Set notes_section. 614da0c48c4Sopenharmony_ci (handle_notes): Check if notes_section is set. 615da0c48c4Sopenharmony_ci 616da0c48c4Sopenharmony_ci2019-07-26 Florian Weimer <fweimer@redhat.com> 617da0c48c4Sopenharmony_ci Mark Wielaard <mark@klomp.org> 618da0c48c4Sopenharmony_ci 619da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add elfclassify. 620da0c48c4Sopenharmony_ci (elfclassify_LDADD): New variable. 621da0c48c4Sopenharmony_ci * elfclassify.c: New tool. 622da0c48c4Sopenharmony_ci 623da0c48c4Sopenharmony_ci2019-07-13 Mao Han <han_mao@c-sky.com> 624da0c48c4Sopenharmony_ci 625da0c48c4Sopenharmony_ci * elflint.c: Add C-SKY. 626da0c48c4Sopenharmony_ci 627da0c48c4Sopenharmony_ci2019-06-28 Mark Wielaard <mark@klomp.org> 628da0c48c4Sopenharmony_ci 629da0c48c4Sopenharmony_ci * readelf.c (print_ehdr): Use dwelf_elf_e_machine_string instead of 630da0c48c4Sopenharmony_ci ebl->name. If unknown print hex value. 631da0c48c4Sopenharmony_ci 632da0c48c4Sopenharmony_ci2019-06-25 Mark Wielaard <mark@klomp.org> 633da0c48c4Sopenharmony_ci 634da0c48c4Sopenharmony_ci * stack.c (parse_opt): Fix dwfl_core_file_attach error message. 635da0c48c4Sopenharmony_ci 636da0c48c4Sopenharmony_ci2019-06-18 Mark Wielaard <mark@klomp.org> 637da0c48c4Sopenharmony_ci 638da0c48c4Sopenharmony_ci * strip.c (handle_elf): Use elf_begin ELF_C_WRITE, instead of 639da0c48c4Sopenharmony_ci ELF_C_WRITE_MMAP. 640da0c48c4Sopenharmony_ci 641da0c48c4Sopenharmony_ci2019-05-10 Mark Wielaard <mark@klomp.org> 642da0c48c4Sopenharmony_ci 643da0c48c4Sopenharmony_ci * readelf.c (struct attrcb_args): Rename die to dies. 644da0c48c4Sopenharmony_ci (attr_callback): Get current current die using dies[level]. 645da0c48c4Sopenharmony_ci Handle DW_AT_discr_list as block, not as constant. 646da0c48c4Sopenharmony_ci (print_debug_units): pass dies, not dies[level] as args. 647da0c48c4Sopenharmony_ci 648da0c48c4Sopenharmony_ci2019-05-09 Mark Wielaard <mark@klomp.org> 649da0c48c4Sopenharmony_ci 650da0c48c4Sopenharmony_ci * readelf.c (cleanup_list): New function. 651da0c48c4Sopenharmony_ci (main): Call cleanup_list for dump_data_sections and string_sections. 652da0c48c4Sopenharmony_ci 653da0c48c4Sopenharmony_ci2019-04-28 Mark Wielaard <mark@klomp.org> 654da0c48c4Sopenharmony_ci 655da0c48c4Sopenharmony_ci * unstrip.c (add_new_section_symbols): Call ELF_CHECK after 656da0c48c4Sopenharmony_ci gelf_getsymshndx. 657da0c48c4Sopenharmony_ci (new_shstrtab): Call ELF_CHECK after gelf_getshdr. 658da0c48c4Sopenharmony_ci 659da0c48c4Sopenharmony_ci2019-04-28 Mark Wielaard <mark@klomp.org> 660da0c48c4Sopenharmony_ci 661da0c48c4Sopenharmony_ci * size.c (show_sysv): Call INTERNAL_ERROR if gelf_getshdr 662da0c48c4Sopenharmony_ci returns NULL. 663da0c48c4Sopenharmony_ci (show_sysv_one_line): Call error with EXIT_FAILURE if 664da0c48c4Sopenharmony_ci gelf_getshdr returns NULL. 665da0c48c4Sopenharmony_ci 666da0c48c4Sopenharmony_ci2019-04-28 Mark Wielaard <mark@klomp.org> 667da0c48c4Sopenharmony_ci 668da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Check gelf_getshdr doesn't return 669da0c48c4Sopenharmony_ci NULL. Simplify naming of invalid sections, don't use alloca. 670da0c48c4Sopenharmony_ci 671da0c48c4Sopenharmony_ci2019-04-28 Mark Wielaard <mark@klomp.org> 672da0c48c4Sopenharmony_ci 673da0c48c4Sopenharmony_ci * elfcmp.c (main): Check shdr1 and shdr2 are not NULL. 674da0c48c4Sopenharmony_ci 675da0c48c4Sopenharmony_ci2019-04-03 Mark Wielaard <mark@klomp.org> 676da0c48c4Sopenharmony_ci 677da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Print DW_AT_data_member_location as 678da0c48c4Sopenharmony_ci decimal offset, not hex number. 679da0c48c4Sopenharmony_ci 680da0c48c4Sopenharmony_ci2019-03-29 Mark Wielaard <mark@klomp.org> 681da0c48c4Sopenharmony_ci 682da0c48c4Sopenharmony_ci * readelf.c (print_debug_macinfo_section): Check cus[0] is not the 683da0c48c4Sopenharmony_ci sentinel. 684da0c48c4Sopenharmony_ci 685da0c48c4Sopenharmony_ci2019-03-27 Mark Wielaard <mark@klomp.org> 686da0c48c4Sopenharmony_ci 687da0c48c4Sopenharmony_ci * strip.c (handle_elf): Assert that symbol section number exists. 688da0c48c4Sopenharmony_ci 689da0c48c4Sopenharmony_ci2019-01-24 Mark Wielaard <mark@klomp.org> 690da0c48c4Sopenharmony_ci 691da0c48c4Sopenharmony_ci * strip.c (handle_elf): Fix check test for SHN_XINDEX symbol. 692da0c48c4Sopenharmony_ci 693da0c48c4Sopenharmony_ci2019-01-22 Mark Wielaard <mark@klomp.org> 694da0c48c4Sopenharmony_ci 695da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Check we are not at end of 696da0c48c4Sopenharmony_ci line data when reading parameters for unknown opcodes. 697da0c48c4Sopenharmony_ci 698da0c48c4Sopenharmony_ci2019-01-20 Mark Wielaard <mark@klomp.org> 699da0c48c4Sopenharmony_ci 700da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Check terminating NUL byte 701da0c48c4Sopenharmony_ci for dir and file tables. 702da0c48c4Sopenharmony_ci 703da0c48c4Sopenharmony_ci2019-01-16 Mark Wielaard <mark@klomp.org> 704da0c48c4Sopenharmony_ci 705da0c48c4Sopenharmony_ci * readelf (handle_core_note): Pass desc to ebl_core_note. 706da0c48c4Sopenharmony_ci 707da0c48c4Sopenharmony_ci2018-11-10 Mark Wielaard <mark@klomp.org> 708da0c48c4Sopenharmony_ci 709da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Allow PT_GNU_EH_FRAME segment 710da0c48c4Sopenharmony_ci to be matched against SHT_X86_64_UNWIND section. 711da0c48c4Sopenharmony_ci 712da0c48c4Sopenharmony_ci2018-11-09 Mark Wielaard <mark@klomp.org> 713da0c48c4Sopenharmony_ci 714da0c48c4Sopenharmony_ci * strip.c (remove_debug_relocations): Check if section is gnu 715da0c48c4Sopenharmony_ci compressed and decompress and recompress it. 716da0c48c4Sopenharmony_ci 717da0c48c4Sopenharmony_ci2018-11-12 Mark Wielaard <mark@klomp.org> 718da0c48c4Sopenharmony_ci 719da0c48c4Sopenharmony_ci * elflint.c (check_note_data): Recognize NT_GNU_BUILD_ATTRIBUTE_OPEN 720da0c48c4Sopenharmony_ci and NT_GNU_BUILD_ATTRIBUTE_OPEN. 721da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Handle 722da0c48c4Sopenharmony_ci ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX. Pass nhdr.n_namesz to 723da0c48c4Sopenharmony_ci ebl_object_note. 724da0c48c4Sopenharmony_ci 725da0c48c4Sopenharmony_ci2018-11-11 Mark Wielaard <mark@klomp.org> 726da0c48c4Sopenharmony_ci 727da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Pass n_descsz to 728da0c48c4Sopenharmony_ci ebl_object_note_type_name. 729da0c48c4Sopenharmony_ci * elflint.c (check_note_data): Recognize NT_VERSION, add owner 730da0c48c4Sopenharmony_ci name to unknown note error. 731da0c48c4Sopenharmony_ci 732da0c48c4Sopenharmony_ci2018-10-20 Mark Wielaard <mark@klomp.org> 733da0c48c4Sopenharmony_ci 734da0c48c4Sopenharmony_ci * readelf.c (process_elf_file): Use dwelf_elf_begin to open pure_elf. 735da0c48c4Sopenharmony_ci 736da0c48c4Sopenharmony_ci2018-10-26 Mark Wielaard <mark@klomp.org> 737da0c48c4Sopenharmony_ci 738da0c48c4Sopenharmony_ci * strip.c (OPT_RELOC_DEBUG_ONLY): New define. 739da0c48c4Sopenharmony_ci (options): Add reloc-debug-sections-only. 740da0c48c4Sopenharmony_ci (reloc_debug_only): New static bool. 741da0c48c4Sopenharmony_ci (main): Check reloc_debug_only is the only strip option used. 742da0c48c4Sopenharmony_ci (parse_opt): Handle OPT_RELOC_DEBUG_ONLY. 743da0c48c4Sopenharmony_ci (handle_debug_relocs): New function. 744da0c48c4Sopenharmony_ci (handle_elf): Add local variables lastsec_offset and lastsec_size. 745da0c48c4Sopenharmony_ci Handle reloc_debug_only. 746da0c48c4Sopenharmony_ci 747da0c48c4Sopenharmony_ci2018-10-24 Mark Wielaard <mark@klomp.org> 748da0c48c4Sopenharmony_ci 749da0c48c4Sopenharmony_ci * strip.c (handle_elf): Extract code to update shdrstrndx into... 750da0c48c4Sopenharmony_ci (update_shdrstrndx): ... this new function. 751da0c48c4Sopenharmony_ci 752da0c48c4Sopenharmony_ci2018-10-24 Mark Wielaard <mark@klomp.org> 753da0c48c4Sopenharmony_ci 754da0c48c4Sopenharmony_ci * strip.c (handle_elf): Extract code into separate functions... 755da0c48c4Sopenharmony_ci (secndx_name): ... new function. 756da0c48c4Sopenharmony_ci (get_xndxdata): Likewise. 757da0c48c4Sopenharmony_ci (remove_debug_relocations): Likewise. 758da0c48c4Sopenharmony_ci 759da0c48c4Sopenharmony_ci2018-10-24 Mark Wielaard <mark@klomp.org> 760da0c48c4Sopenharmony_ci 761da0c48c4Sopenharmony_ci * strip.c (handle_elf): Always copy over phdrs if there are any 762da0c48c4Sopenharmony_ci and check phnum instead of e_type to determine whether to move 763da0c48c4Sopenharmony_ci allocated sections. 764da0c48c4Sopenharmony_ci 765da0c48c4Sopenharmony_ci2018-11-02 Mark Wielaard <mark@klomp.org> 766da0c48c4Sopenharmony_ci 767da0c48c4Sopenharmony_ci * unstrip.c (copy_elf): Add ELF_CHECK to make sure gelf_getehdr () 768da0c48c4Sopenharmony_ci doesn't return NULL. 769da0c48c4Sopenharmony_ci 770da0c48c4Sopenharmony_ci2018-10-18 Mark Wielaard <mark@klomp.org> 771da0c48c4Sopenharmony_ci 772da0c48c4Sopenharmony_ci * elflint.c (check_note_data): Recognize NT_GNU_PROPERTY_TYPE_0. 773da0c48c4Sopenharmony_ci (check_note): Use p_align to pass either ELF_T_NHDR or ELF_T_NHDR8 to 774da0c48c4Sopenharmony_ci elf_getdata_rawchunk. 775da0c48c4Sopenharmony_ci * readelf (handle_notes): Likewise. 776da0c48c4Sopenharmony_ci 777da0c48c4Sopenharmony_ci2018-10-24 Mark Wielaard <mark@klomp.org> 778da0c48c4Sopenharmony_ci 779da0c48c4Sopenharmony_ci * addr2line.c (print_addrsym): Use elf_getshdrstrndx instead of 780da0c48c4Sopenharmony_ci Ehdr field. 781da0c48c4Sopenharmony_ci 782da0c48c4Sopenharmony_ci2018-10-24 Mark Wielaard <mark@klomp.org> 783da0c48c4Sopenharmony_ci 784da0c48c4Sopenharmony_ci * readelf.c (section_name): Remove ehdr argument, lookup shstrndx. 785da0c48c4Sopenharmony_ci (print_debug_abbrev_section): Don't pass ehdr. 786da0c48c4Sopenharmony_ci (print_debug_addr_section): Likewise. 787da0c48c4Sopenharmony_ci (print_decoded_aranges_section): Likewise. 788da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 789da0c48c4Sopenharmony_ci (print_debug_rnglists_section): Likewise. 790da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 791da0c48c4Sopenharmony_ci (print_debug_units): Likewise. 792da0c48c4Sopenharmony_ci (print_decoded_line_section): Likewise. 793da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 794da0c48c4Sopenharmony_ci (print_debug_loclists_section): Likewise. 795da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 796da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 797da0c48c4Sopenharmony_ci (print_debug_macro_section): Likewise. 798da0c48c4Sopenharmony_ci (print_debug_pubnames_section): Likewise. 799da0c48c4Sopenharmony_ci (print_debug_str_section): Liekwise. 800da0c48c4Sopenharmony_ci (print_debug_str_offsets_section): Likewise. 801da0c48c4Sopenharmony_ci (print_gdb_index_section): Likewise. 802da0c48c4Sopenharmony_ci 803da0c48c4Sopenharmony_ci2018-10-16 Mark Wielaard <mark@klomp.org> 804da0c48c4Sopenharmony_ci 805da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Make sure readp is never 806da0c48c4Sopenharmony_ci greater than cieend. 807da0c48c4Sopenharmony_ci 808da0c48c4Sopenharmony_ci2018-10-19 Mark Wielaard <mark@klomp.org> 809da0c48c4Sopenharmony_ci 810da0c48c4Sopenharmony_ci * dwfl_module_getdwarf.c (adjust_relocs): Check sh_entsize is not 811da0c48c4Sopenharmony_ci zero. 812da0c48c4Sopenharmony_ci (add_new_section_symbols): Likewise. 813da0c48c4Sopenharmony_ci (copy_elided_sections): Likewise. 814da0c48c4Sopenharmony_ci 815da0c48c4Sopenharmony_ci2018-10-18 Mark Wielaard <mark@klomp.org> 816da0c48c4Sopenharmony_ci 817da0c48c4Sopenharmony_ci * size.c (handle_ar): Only close elf if prefix was NULL. 818da0c48c4Sopenharmony_ci 819da0c48c4Sopenharmony_ci2018-10-18 Mark Wielaard <mark@klomp.org> 820da0c48c4Sopenharmony_ci 821da0c48c4Sopenharmony_ci * arlib.c (arlib_add_symbols): Check that sh_entsize is not zero. 822da0c48c4Sopenharmony_ci 823da0c48c4Sopenharmony_ci2018-10-14 Mark Wielaard <mark@klomp.org> 824da0c48c4Sopenharmony_ci 825da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Assume epoch if ar_date is bogus. 826da0c48c4Sopenharmony_ci 827da0c48c4Sopenharmony_ci2018-10-14 Mark Wielaard <mark@klomp.org> 828da0c48c4Sopenharmony_ci 829da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Check that sh_entsize is not zero. 830da0c48c4Sopenharmony_ci 831da0c48c4Sopenharmony_ci2018-10-13 Mark Wielaard <mark@klomp.org> 832da0c48c4Sopenharmony_ci 833da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Use elf_getdata. Print 834da0c48c4Sopenharmony_ci decoded flag string. 835da0c48c4Sopenharmony_ci 836da0c48c4Sopenharmony_ci2018-10-19 Mark Wielaard <mark@klomp.org> 837da0c48c4Sopenharmony_ci 838da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Renumber group section indexes. 839da0c48c4Sopenharmony_ci 840da0c48c4Sopenharmony_ci2018-10-12 Mark Wielaard <mark@klomp.org> 841da0c48c4Sopenharmony_ci 842da0c48c4Sopenharmony_ci * strip.c (handle_elf): Don't remove SHF_GROUP flag from sections. 843da0c48c4Sopenharmony_ci Skip group section flag when renumbering section indexes. 844da0c48c4Sopenharmony_ci * unstrip.c (struct section): Add sig field. 845da0c48c4Sopenharmony_ci (compare_unalloc_sections): Take and use sig1 and sig2 as arguments. 846da0c48c4Sopenharmony_ci (compare_sections): Pass signatures to compare_unalloc_sections. 847da0c48c4Sopenharmony_ci (get_group_sig): New function. 848da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): Set signature. 849da0c48c4Sopenharmony_ci (copy_elided_sections): Likewise and pass them on. 850da0c48c4Sopenharmony_ci (find_unalloc_section): Take and pass signatures. 851da0c48c4Sopenharmony_ci 852da0c48c4Sopenharmony_ci2018-10-02 Andreas Schwab <schwab@suse.de> 853da0c48c4Sopenharmony_ci 854da0c48c4Sopenharmony_ci * strip.c (handle_elf): Handle ADD/SUB relocation. 855da0c48c4Sopenharmony_ci 856da0c48c4Sopenharmony_ci2018-09-13 Mark Wielaard <mark@klomp.org> 857da0c48c4Sopenharmony_ci 858da0c48c4Sopenharmony_ci * readelf.c (print_shdr): Get number of section with elf_getshdrnum. 859da0c48c4Sopenharmony_ci (print_phdr): Likewise. 860da0c48c4Sopenharmony_ci 861da0c48c4Sopenharmony_ci2018-09-13 Mark Wielaard <mark@klomp.org> 862da0c48c4Sopenharmony_ci 863da0c48c4Sopenharmony_ci * strip.c (handle_elf): Check against shstrndx, not e_shstrndx. 864da0c48c4Sopenharmony_ci Explicitly set shdrstrndx for debug file. 865da0c48c4Sopenharmony_ci * unstrip.c (copy_elf): Explicitly copy shstrndx. 866da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): Document shnum usage. 867da0c48c4Sopenharmony_ci 868da0c48c4Sopenharmony_ci2018-09-13 Mark Wielaard <mark@klomp.org> 869da0c48c4Sopenharmony_ci 870da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Use shnum instead of e_shnum for all 871da0c48c4Sopenharmony_ci checks. 872da0c48c4Sopenharmony_ci (check_symtab): Use shstrndx instead of e_shstrndx to get section 873da0c48c4Sopenharmony_ci names. 874da0c48c4Sopenharmony_ci 875da0c48c4Sopenharmony_ci2018-09-13 Mark Wielaard <mark@klomp.org> 876da0c48c4Sopenharmony_ci 877da0c48c4Sopenharmony_ci * elfcmp.c (main): Get, check and shdrstrndx for section names. 878da0c48c4Sopenharmony_ci 879da0c48c4Sopenharmony_ci2018-09-12 Mark Wielaard <mark@klomp.org> 880da0c48c4Sopenharmony_ci 881da0c48c4Sopenharmony_ci * elfcmp.c (main): Call ebl_section_strip_p without ehdr. 882da0c48c4Sopenharmony_ci * strip.c (handle_elf): Likewise. 883da0c48c4Sopenharmony_ci 884da0c48c4Sopenharmony_ci2018-09-12 Mark Wielaard <mark@klomp.org> 885da0c48c4Sopenharmony_ci 886da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Call ebl_check_special_symbol without 887da0c48c4Sopenharmony_ci ehdr. 888da0c48c4Sopenharmony_ci 889da0c48c4Sopenharmony_ci2018-07-30 Mark Wielaard <mark@klomp.org> 890da0c48c4Sopenharmony_ci 891da0c48c4Sopenharmony_ci * strip.c (handle_elf): Track allocated/unallocated sections seen. Set 892da0c48c4Sopenharmony_ci section offset of unallocated sections after handling all allocated 893da0c48c4Sopenharmony_ci sections. 894da0c48c4Sopenharmony_ci 895da0c48c4Sopenharmony_ci2018-08-18 Mark Wielaard <mark@klomp.org> 896da0c48c4Sopenharmony_ci 897da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges_section): Make sure there is enough 898da0c48c4Sopenharmony_ci data to read the header segment size. 899da0c48c4Sopenharmony_ci 900da0c48c4Sopenharmony_ci2018-08-18 Mark Wielaard <mark@klomp.org> 901da0c48c4Sopenharmony_ci 902da0c48c4Sopenharmony_ci * elflint.c (check_sysv_hash): Calculate needed size using unsigned 903da0c48c4Sopenharmony_ci long long int to prevent overflow. 904da0c48c4Sopenharmony_ci (check_sysv_hash64): Calculate maxwords used separately before 905da0c48c4Sopenharmony_ci comparison to prevent overflow. 906da0c48c4Sopenharmony_ci 907da0c48c4Sopenharmony_ci2018-07-24 Mark Wielaard <mark@klomp.org> 908da0c48c4Sopenharmony_ci 909da0c48c4Sopenharmony_ci * unstrip.c (compare_unalloc_sections): Also compare sh_size. 910da0c48c4Sopenharmony_ci 911da0c48c4Sopenharmony_ci2018-07-21 Mark Wielaard <mark@klomp.org> 912da0c48c4Sopenharmony_ci 913da0c48c4Sopenharmony_ci * unstrip.c (adjust_all_relocs): Skip SHT_GROUP sections. 914da0c48c4Sopenharmony_ci 915da0c48c4Sopenharmony_ci2018-07-21 Mark Wielaard <mark@klomp.org> 916da0c48c4Sopenharmony_ci 917da0c48c4Sopenharmony_ci * elfcompress.c (get_sections): New function. 918da0c48c4Sopenharmony_ci (process_file): Check whether section needs to change. Don't rewrite 919da0c48c4Sopenharmony_ci file if no section data needs changing. 920da0c48c4Sopenharmony_ci (main): Update 'force' help text. 921da0c48c4Sopenharmony_ci 922da0c48c4Sopenharmony_ci2018-07-21 Mark Wielaard <mark@klomp.org> 923da0c48c4Sopenharmony_ci 924da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Swap fchmod and fchown calls. 925da0c48c4Sopenharmony_ci 926da0c48c4Sopenharmony_ci2018-07-04 Mark Wielaard <mark@klomp.org> 927da0c48c4Sopenharmony_ci 928da0c48c4Sopenharmony_ci * readelf.c (print_debug_addr_section): Rename index var to uidx. 929da0c48c4Sopenharmony_ci (attr_callback): Rename index var to word. 930da0c48c4Sopenharmony_ci (print_debug_str_offsets_section): Rename index var to uidx. 931da0c48c4Sopenharmony_ci 932da0c48c4Sopenharmony_ci2018-07-04 Ross Burton <ross.burton@intel.com> 933da0c48c4Sopenharmony_ci 934da0c48c4Sopenharmony_ci * addr2line.c: Remove error.h include. 935da0c48c4Sopenharmony_ci * ar.c: Likewise. 936da0c48c4Sopenharmony_ci * arlib.c: Likewise and add system.h include. 937da0c48c4Sopenharmony_ci * arlib2.c: Likewise. 938da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 939da0c48c4Sopenharmony_ci * elfcompress.c: Likewise. 940da0c48c4Sopenharmony_ci * elflint.c: Likewise. 941da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 942da0c48c4Sopenharmony_ci * nm.c: Likewise. 943da0c48c4Sopenharmony_ci * objdump.c: Likewise. 944da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 945da0c48c4Sopenharmony_ci * readelf.c: Likewise. 946da0c48c4Sopenharmony_ci * stack.c: Likewise. 947da0c48c4Sopenharmony_ci * strings.c: Likewise. 948da0c48c4Sopenharmony_ci * strip.c: Likewise. 949da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 950da0c48c4Sopenharmony_ci 951da0c48c4Sopenharmony_ci2018-06-25 Mark Wielaard <mark@klomp.org> 952da0c48c4Sopenharmony_ci 953da0c48c4Sopenharmony_ci * readelf.c (print_decoded_line_section): Use dwarf_next_lines 954da0c48c4Sopenharmony_ci instead of dwarf_nextcu. 955da0c48c4Sopenharmony_ci (print_debug_line_section): Don't explicitly lookup CU. 956da0c48c4Sopenharmony_ci 957da0c48c4Sopenharmony_ci2018-06-15 Mark Wielaard <mark@klomp.org> 958da0c48c4Sopenharmony_ci 959da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Only print block as expressions if it 960da0c48c4Sopenharmony_ci isn't DW_FORM_data16. 961da0c48c4Sopenharmony_ci 962da0c48c4Sopenharmony_ci2018-06-12 Mark Wielaard <mark@klomp.org> 963da0c48c4Sopenharmony_ci 964da0c48c4Sopenharmony_ci * readelf.c (print_form_data): Check we have 4, not 2, bytes 965da0c48c4Sopenharmony_ci available for DW_FORM_block4. 966da0c48c4Sopenharmony_ci 967da0c48c4Sopenharmony_ci2018-06-12 Mark Wielaard <mark@klomp.org> 968da0c48c4Sopenharmony_ci 969da0c48c4Sopenharmony_ci * readelf.c (print_form_data): Don't increase strreadp after use. 970da0c48c4Sopenharmony_ci Do increase readp for DW_FORM_strx[1234]. 971da0c48c4Sopenharmony_ci 972da0c48c4Sopenharmony_ci2018-06-16 Mark Wielaard <mark@klomp.org> 973da0c48c4Sopenharmony_ci 974da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Make sure next_off doesn't 975da0c48c4Sopenharmony_ci overflow d_buf. 976da0c48c4Sopenharmony_ci 977da0c48c4Sopenharmony_ci2018-06-13 Mark Wielaard <mark@klomp.org> 978da0c48c4Sopenharmony_ci 979da0c48c4Sopenharmony_ci * readelf.c (die_type_sign_bytes): New function. 980da0c48c4Sopenharmony_ci (attr_callback): Recognized DW_FORM_implicit_cost as signed. Use 981da0c48c4Sopenharmony_ci die_type_sign_bytes to lookup the signedness and size of const 982da0c48c4Sopenharmony_ci values. 983da0c48c4Sopenharmony_ci 984da0c48c4Sopenharmony_ci2018-06-11 Mark Wielaard <mark@klomp.org> 985da0c48c4Sopenharmony_ci 986da0c48c4Sopenharmony_ci * readelf.c (print_form_data): Don't reuse readp and readendp when 987da0c48c4Sopenharmony_ci reading str_offsets section. 988da0c48c4Sopenharmony_ci 989da0c48c4Sopenharmony_ci2018-06-10 Mark Wielaard <mark@klomp.org> 990da0c48c4Sopenharmony_ci 991da0c48c4Sopenharmony_ci * readelf.c (print_form_data): Don't cast value to ptrdiff_t, cast 992da0c48c4Sopenharmony_ci ptrdiff_t to size_t. 993da0c48c4Sopenharmony_ci 994da0c48c4Sopenharmony_ci2018-06-08 Mark Wielaard <mark@klomp.org> 995da0c48c4Sopenharmony_ci 996da0c48c4Sopenharmony_ci * readelf.c (print_debug_rnglists_section): Calculate max_entries 997da0c48c4Sopenharmony_ci instead of needed bytes to prevent overflowing. Always print 998da0c48c4Sopenharmony_ci max_entries (but not more). 999da0c48c4Sopenharmony_ci (print_debug_loclists_section): Likewise. 1000da0c48c4Sopenharmony_ci 1001da0c48c4Sopenharmony_ci2018-06-08 Mark Wielaard <mark@klomp.org> 1002da0c48c4Sopenharmony_ci 1003da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Stop printing directories 1004da0c48c4Sopenharmony_ci and files when we are at the end of the unit data. 1005da0c48c4Sopenharmony_ci 1006da0c48c4Sopenharmony_ci2018-06-07 Mark Wielaard <mark@klomp.org> 1007da0c48c4Sopenharmony_ci 1008da0c48c4Sopenharmony_ci * readelf.c (format_result): Removed. 1009da0c48c4Sopenharmony_ci (format_result_size): Removed. 1010da0c48c4Sopenharmony_ci (format_dwarf_addr): Renamed to... 1011da0c48c4Sopenharmony_ci (print_dwarf_addr): ...this. Simply call printf, don't setup buffer, 1012da0c48c4Sopenharmony_ci don't call sprintf. 1013da0c48c4Sopenharmony_ci (print_ops): Use print_dwarf_addr instead of format_dwarf_addr. 1014da0c48c4Sopenharmony_ci (print_debug_addr_section): Likewise. 1015da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 1016da0c48c4Sopenharmony_ci (print_debug_rnglists_section): Likewise. 1017da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 1018da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 1019da0c48c4Sopenharmony_ci (attr_callback): Likewise. 1020da0c48c4Sopenharmony_ci (print_decoded_line_section): Likewise. 1021da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 1022da0c48c4Sopenharmony_ci (print_debug_loclists_section): Likewise. 1023da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 1024da0c48c4Sopenharmony_ci (print_gdb_index_section): Likewsie. 1025da0c48c4Sopenharmony_ci 1026da0c48c4Sopenharmony_ci2018-06-05 Mark Wielaard <mark@klomp.org> 1027da0c48c4Sopenharmony_ci 1028da0c48c4Sopenharmony_ci * readelf.c (print_debug_addr_section): Set unit_length always to 1029da0c48c4Sopenharmony_ci (next_unitp - readp) in case we don't have a real header. 1030da0c48c4Sopenharmony_ci 1031da0c48c4Sopenharmony_ci2018-06-05 Mark Wielaard <mark@klomp.org> 1032da0c48c4Sopenharmony_ci 1033da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Set begin to idx when failing 1034da0c48c4Sopenharmony_ci to read the start address if DW_LLE_GNU_start_end_entry. 1035da0c48c4Sopenharmony_ci 1036da0c48c4Sopenharmony_ci2018-06-05 Mark Wielaard <mark@klomp.org> 1037da0c48c4Sopenharmony_ci 1038da0c48c4Sopenharmony_ci * readelf.c (handle_sysv_hash): Don't leak lengths array when 1039da0c48c4Sopenharmony_ci detecting an invalid chain. 1040da0c48c4Sopenharmony_ci (handle_sysv_hash64): Likewise. 1041da0c48c4Sopenharmony_ci 1042da0c48c4Sopenharmony_ci2018-06-05 Mark Wielaard <mark@klomp.org> 1043da0c48c4Sopenharmony_ci 1044da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Extend vendor array by one 1045da0c48c4Sopenharmony_ci to include max DW_MACRO_hi_user opcode. 1046da0c48c4Sopenharmony_ci 1047da0c48c4Sopenharmony_ci2018-06-07 Mark Wielaard <mark@klomp.org> 1048da0c48c4Sopenharmony_ci 1049da0c48c4Sopenharmony_ci * readelf.c (main): Lookup "no" for no_str. 1050da0c48c4Sopenharmony_ci (print_debug_abbrev_section): Use yes_str and no_str. 1051da0c48c4Sopenharmony_ci (print_form_data): Likewise. 1052da0c48c4Sopenharmony_ci 1053da0c48c4Sopenharmony_ci2018-06-04 Mark Wielaard <mark@klomp.org> 1054da0c48c4Sopenharmony_ci 1055da0c48c4Sopenharmony_ci * readelf (format_result): New static char pointer. 1056da0c48c4Sopenharmony_ci (format_result_size): New static size_t. 1057da0c48c4Sopenharmony_ci (format_dwarf_addr): Calculate max string size, reuse format_result 1058da0c48c4Sopenharmony_ci if possible, otherwise realloc. Use sprintf on result, not asprintf. 1059da0c48c4Sopenharmony_ci (print_ops): Don't free format_dwarf_addr, make sure result is 1060da0c48c4Sopenharmony_ci printed before calling format_dwarf_addr again. 1061da0c48c4Sopenharmony_ci (print_debug_addr_section): Likewise. 1062da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 1063da0c48c4Sopenharmony_ci (print_debug_rnglists_section): Likewise. 1064da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 1065da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 1066da0c48c4Sopenharmony_ci (attr_callback): Likewise. 1067da0c48c4Sopenharmony_ci (print_decoded_line_section): Likewise. 1068da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 1069da0c48c4Sopenharmony_ci (print_debug_loclists_section): Likewise. 1070da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 1071da0c48c4Sopenharmony_ci (print_gdb_index_section): Likewsie. 1072da0c48c4Sopenharmony_ci 1073da0c48c4Sopenharmony_ci2018-06-04 Mark Wielaard <mark@klomp.org> 1074da0c48c4Sopenharmony_ci 1075da0c48c4Sopenharmony_ci * readelf.c (yes_str): New static char pointer. 1076da0c48c4Sopenharmony_ci (no_str): Likewise. 1077da0c48c4Sopenharmony_ci (main): Set yes_str and no_str using gettext. 1078da0c48c4Sopenharmony_ci (attr_callback): Use yes_str and no_str instead of calling gettext. 1079da0c48c4Sopenharmony_ci 1080da0c48c4Sopenharmony_ci2018-06-04 Mark Wielaard <mark@klomp.org> 1081da0c48c4Sopenharmony_ci 1082da0c48c4Sopenharmony_ci * readelf.c (main): Call __fsetlocking (stdout, FSETLOCKING_BYCALLER). 1083da0c48c4Sopenharmony_ci 1084da0c48c4Sopenharmony_ci2018-05-31 Mark Wielaard <mark@klomp.org> 1085da0c48c4Sopenharmony_ci 1086da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Print the dwo name and id when 1087da0c48c4Sopenharmony_ci unable to find a .dwo file. 1088da0c48c4Sopenharmony_ci 1089da0c48c4Sopenharmony_ci2018-05-31 Mark Wielaard <mark@klomp.org> 1090da0c48c4Sopenharmony_ci 1091da0c48c4Sopenharmony_ci * readelf.c (enum section_e): Make section_types not an alias of 1092da0c48c4Sopenharmony_ci section_info. 1093da0c48c4Sopenharmony_ci (section_all): Add section_types. 1094da0c48c4Sopenharmony_ci (parse_opt): Add both section_info and section_types for "info" 1095da0c48c4Sopenharmony_ci and "info+". 1096da0c48c4Sopenharmony_ci (print_debug_units): Don't be silent for debug_types. 1097da0c48c4Sopenharmony_ci 1098da0c48c4Sopenharmony_ci2018-05-31 Mark Wielaard <mark@klomp.org> 1099da0c48c4Sopenharmony_ci 1100da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Only register section_loc when not 1101da0c48c4Sopenharmony_ci looking at a split dwarf from a skeleton. 1102da0c48c4Sopenharmony_ci 1103da0c48c4Sopenharmony_ci2018-05-30 Mark Wielaard <mark@klomp.org> 1104da0c48c4Sopenharmony_ci 1105da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Use correct listptr for 1106da0c48c4Sopenharmony_ci locview attribute. 1107da0c48c4Sopenharmony_ci 1108da0c48c4Sopenharmony_ci2018-05-31 Mark Wielaard <mark@klomp.org> 1109da0c48c4Sopenharmony_ci 1110da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Check offset against -1 not ~0ul. 1111da0c48c4Sopenharmony_ci 1112da0c48c4Sopenharmony_ci2018-05-29 Mark Wielaard <mark@klomp.org> 1113da0c48c4Sopenharmony_ci 1114da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Handle GNU DebugFission list 1115da0c48c4Sopenharmony_ci entries. 1116da0c48c4Sopenharmony_ci 1117da0c48c4Sopenharmony_ci2018-05-29 Mark Wielaard <mark@klomp.org> 1118da0c48c4Sopenharmony_ci 1119da0c48c4Sopenharmony_ci * readelf.c (print_debug): Record and reset section_info status in 1120da0c48c4Sopenharmony_ci implicit_debug_sections and print_debug_sections. 1121da0c48c4Sopenharmony_ci 1122da0c48c4Sopenharmony_ci2018-05-28 Mark Wielaard <mark@klomp.org> 1123da0c48c4Sopenharmony_ci 1124da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Turn "Could not find split compile 1125da0c48c4Sopenharmony_ci unit" into an Warning instead of an error. 1126da0c48c4Sopenharmony_ci 1127da0c48c4Sopenharmony_ci2018-04-29 Mark Wielaard <mark@klomp.org> 1128da0c48c4Sopenharmony_ci 1129da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Request implicit section_info for "str". 1130da0c48c4Sopenharmony_ci (known_stroffbases): New static variable. 1131da0c48c4Sopenharmony_ci (attr_callbackattr_callback): Handle DW_AT_str_offets_base. 1132da0c48c4Sopenharmony_ci (print_debug_str_offsets_section): New function. 1133da0c48c4Sopenharmony_ci (print_debug): Handle .debug_str_offsets as section_str. Reset 1134da0c48c4Sopenharmony_ci known_stroffbases. 1135da0c48c4Sopenharmony_ci 1136da0c48c4Sopenharmony_ci2018-04-27 Mark Wielaard <mark@klomp.org> 1137da0c48c4Sopenharmony_ci 1138da0c48c4Sopenharmony_ci * readelf.c (options): Add addr. 1139da0c48c4Sopenharmony_ci (enum section_e): Add section_addr. 1140da0c48c4Sopenharmony_ci (section_all): Add section_addr. 1141da0c48c4Sopenharmony_ci (parse_opt): Parse "addr". 1142da0c48c4Sopenharmony_ci (known_addrbases): New static variable. 1143da0c48c4Sopenharmony_ci (get_listptr): New function. 1144da0c48c4Sopenharmony_ci (print_debug_addr_section): Likewise. 1145da0c48c4Sopenharmony_ci (attr_callback): Handle DW_AT_addr_base and DW_AT_GNU_addr_base. 1146da0c48c4Sopenharmony_ci (print_debug): Add NEW_SECTION (addr). Reset known_addrbases. 1147da0c48c4Sopenharmony_ci 1148da0c48c4Sopenharmony_ci2018-04-07 Mark Wielaard <mark@klomp.org> 1149da0c48c4Sopenharmony_ci 1150da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_FORM_loclistx and 1151da0c48c4Sopenharmony_ci DW_AT_segment. 1152da0c48c4Sopenharmony_ci 1153da0c48c4Sopenharmony_ci2018-04-12 Mark Wielaard <mark@klomp.org> 1154da0c48c4Sopenharmony_ci 1155da0c48c4Sopenharmony_ci * readelf.c (dwarf_loc_list_encoding_string): New functions. 1156da0c48c4Sopenharmony_ci (dwarf_loc_list_encoding_name): Likewise. 1157da0c48c4Sopenharmony_ci (known_loclistptr): Renamed and split in two... 1158da0c48c4Sopenharmony_ci (known_locsptr): this and ... 1159da0c48c4Sopenharmony_ci (known_loclistsptr): this. 1160da0c48c4Sopenharmony_ci (listptr_base): Split out... 1161da0c48c4Sopenharmony_ci (cudie_base): ...this. 1162da0c48c4Sopenharmony_ci (is_split_dwarf): New function. 1163da0c48c4Sopenharmony_ci (attr_callback): Handle DW_AT_loclists_base and notice sec_offset 1164da0c48c4Sopenharmony_ci in correct list. 1165da0c48c4Sopenharmony_ci (print_debug_rnglists_section): Use spit_dwarf_cu_base. 1166da0c48c4Sopenharmony_ci (print_debug_loclists_section): New function. 1167da0c48c4Sopenharmony_ci (print_debug_loc_section): Use known_locsptr instead of 1168da0c48c4Sopenharmony_ci known_loclistptr. 1169da0c48c4Sopenharmony_ci (print_debug): Recognize .debug_loclists. Reset known_locsptr and 1170da0c48c4Sopenharmony_ci known_loclistsptr. 1171da0c48c4Sopenharmony_ci 1172da0c48c4Sopenharmony_ci2018-05-25 Mark Wielaard <mark@klomp.org> 1173da0c48c4Sopenharmony_ci 1174da0c48c4Sopenharmony_ci * readelf.c (DWARF_SKELETON): New constant. 1175da0c48c4Sopenharmony_ci (do_not_close_dwfl): New bool. 1176da0c48c4Sopenharmony_ci (options): Add dwarf-skeleton. 1177da0c48c4Sopenharmony_ci (dwarf_skeleton): New static variable. 1178da0c48c4Sopenharmony_ci (parse_opt): Handle DWARF_SKELETON, set dwarf_skeleton. 1179da0c48c4Sopenharmony_ci (create_dwfl): New function, with code extracted from... 1180da0c48c4Sopenharmony_ci (process_file): ...here. Check do_not_close_dwfl. 1181da0c48c4Sopenharmony_ci (is_split_darf): New function. 1182da0c48c4Sopenharmony_ci (getone_dwflmod): Likewise. 1183da0c48c4Sopenharmony_ci (print_debug): Use new functions to find skeleton DWARF file to use 1184da0c48c4Sopenharmony_ci when inspecting .dwo split DWARF file. 1185da0c48c4Sopenharmony_ci 1186da0c48c4Sopenharmony_ci2018-04-11 Mark Wielaard <mark@klomp.org> 1187da0c48c4Sopenharmony_ci 1188da0c48c4Sopenharmony_ci * readelf.c (dwarf_range_list_encoding_string): New function. 1189da0c48c4Sopenharmony_ci (dwarf_range_list_encoding_name): Likewise. 1190da0c48c4Sopenharmony_ci (known_rnglistptr): New static variable. 1191da0c48c4Sopenharmony_ci (listptr_cu): New function. 1192da0c48c4Sopenharmony_ci (print_debug_rnglists_section): Likewise. 1193da0c48c4Sopenharmony_ci (attr_callback): Call notice_listptr for DW_AT_ranges. Handle 1194da0c48c4Sopenharmony_ci DW_AT_rnglists_base. Handle DW_FORM_rnglistx. DW_AT_start_scope 1195da0c48c4Sopenharmony_ci can also have a rnglist. 1196da0c48c4Sopenharmony_ci (print_debug_units): Do (silently) scan split DWARF also for 1197da0c48c4Sopenharmony_ci debug_ranges before DWARF5 to catch all rangelistptrs. 1198da0c48c4Sopenharmony_ci (print_debug): Recognize .debug_rnglists. Reset known_rnglistptr. 1199da0c48c4Sopenharmony_ci 1200da0c48c4Sopenharmony_ci2018-01-21 Mark Wielaard <mark@klomp.org> 1201da0c48c4Sopenharmony_ci 1202da0c48c4Sopenharmony_ci * readelf.c (get_indexed_addr): New function. 1203da0c48c4Sopenharmony_ci (print_ops): Handle DW_OP_addrx, DW_OP_GNU_addr_index, 1204da0c48c4Sopenharmony_ci DW_OP_constx, DW_OP_GNU_const_index separately and resolve 1205da0c48c4Sopenharmony_ci address. 1206da0c48c4Sopenharmony_ci (attr_callback): Print index and address for 1207da0c48c4Sopenharmony_ci DW_FORM_GNU_addr_index and DW_FORM_addrx[1234]. 1208da0c48c4Sopenharmony_ci 1209da0c48c4Sopenharmony_ci2018-01-19 Mark Wielaard <mark@klomp.org> 1210da0c48c4Sopenharmony_ci 1211da0c48c4Sopenharmony_ci * readelf.c (options): Add info+. 1212da0c48c4Sopenharmony_ci (show_split_units): New static boolean defaulting to false. 1213da0c48c4Sopenharmony_ci (parse_opt): For all (no arg) --debug-dump set show_split_units 1214da0c48c4Sopenharmony_ci to yes. For "info+" enable section_info and show_split_units. 1215da0c48c4Sopenharmony_ci (attrcb_args): Add is_split field. 1216da0c48c4Sopenharmony_ci (attr_callback): Use is_split to format DIE offsets differently. 1217da0c48c4Sopenharmony_ci (print_debug_units): Likewise. Get subdie (type or split) only 1218da0c48c4Sopenharmony_ci when needed. When not silent reiterate over split DIEs when 1219da0c48c4Sopenharmony_ci found. 1220da0c48c4Sopenharmony_ci 1221da0c48c4Sopenharmony_ci2018-05-15 Mark Wielaard <mark@klomp.org> 1222da0c48c4Sopenharmony_ci 1223da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Print unit type and id for any 1224da0c48c4Sopenharmony_ci unit type that has it even when version < 5. 1225da0c48c4Sopenharmony_ci 1226da0c48c4Sopenharmony_ci2018-05-14 Mark Wielaard <mark@klomp.org> 1227da0c48c4Sopenharmony_ci 1228da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_GNU_addr_index and 1229da0c48c4Sopenharmony_ci DW_OP_GNU_const_index. 1230da0c48c4Sopenharmony_ci (attr_callback): Handle DW_FORM_GNU_addr_index as DW_FORM_addrx. 1231da0c48c4Sopenharmony_ci Handle DW_FORM_GNU_str_index as DW_FORM_constx. Add as_hex_id. 1232da0c48c4Sopenharmony_ci Handle DW_AT_GNU_dwo_id as_hex_id. 1233da0c48c4Sopenharmony_ci (print_form_data): Handle DW_FORM_GNU_str_index as DW_FORM_strx. 1234da0c48c4Sopenharmony_ci 1235da0c48c4Sopenharmony_ci2018-05-12 Mark Wielaard <mark@klomp.org> 1236da0c48c4Sopenharmony_ci 1237da0c48c4Sopenharmony_ci * readelf.c (print_debug): Also recognize .dwo section name variants. 1238da0c48c4Sopenharmony_ci 1239da0c48c4Sopenharmony_ci2018-05-15 Dmitry V. Levin <ldv@altlinux.org> 1240da0c48c4Sopenharmony_ci 1241da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Fix typo in error diagnostics. 1242da0c48c4Sopenharmony_ci 1243da0c48c4Sopenharmony_ci2018-05-15 Mark Wielaard <mark@klomp.org> 1244da0c48c4Sopenharmony_ci 1245da0c48c4Sopenharmony_ci * readelf.c (print_form_data): Cast comparisons against offset_len to 1246da0c48c4Sopenharmony_ci ptrdiff_t. 1247da0c48c4Sopenharmony_ci (print_debug_line_section): Print uint64_t as PRIu64. 1248da0c48c4Sopenharmony_ci 1249da0c48c4Sopenharmony_ci2018-05-11 Mark Wielaard <mark@klomp.org> 1250da0c48c4Sopenharmony_ci 1251da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Use libdw_valid_user_form. 1252da0c48c4Sopenharmony_ci Use print_form_data for strx and sup strings. 1253da0c48c4Sopenharmony_ci 1254da0c48c4Sopenharmony_ci2018-05-09 Mark Wielaard <mark@klomp.org> 1255da0c48c4Sopenharmony_ci 1256da0c48c4Sopenharmony_ci * readelf.c (dwarf_line_content_description_string): New function. 1257da0c48c4Sopenharmony_ci (dwarf_line_content_description_name): Likewise. 1258da0c48c4Sopenharmony_ci (print_bytes): Likewise. 1259da0c48c4Sopenharmony_ci (print_form_data): Likewise. Based on code taken from... 1260da0c48c4Sopenharmony_ci (print_debug_macro_section): ...here. Now calls print_form_data 1261da0c48c4Sopenharmony_ci and str_offsets_base_off. 1262da0c48c4Sopenharmony_ci (print_debug_line_section): Parse DWARF5 header, directory and file 1263da0c48c4Sopenharmony_ci name tables. 1264da0c48c4Sopenharmony_ci 1265da0c48c4Sopenharmony_ci2018-05-12 Mark Wielaard <mark@klomp.org> 1266da0c48c4Sopenharmony_ci 1267da0c48c4Sopenharmony_ci * addr2line.c (main): Add fflush (stdout) after handle_address () 1268da0c48c4Sopenharmony_ci when reading from stdin. 1269da0c48c4Sopenharmony_ci 1270da0c48c4Sopenharmony_ci2018-04-24 Mark Wielaard <mark@klomp.org> 1271da0c48c4Sopenharmony_ci 1272da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges_section): Try elf_rawdata if no 1273da0c48c4Sopenharmony_ci sectiondata. 1274da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 1275da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 1276da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. Check for data == NULL. 1277da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 1278da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 1279da0c48c4Sopenharmony_ci (print_debug_macro_section): Likewise. 1280da0c48c4Sopenharmony_ci 1281da0c48c4Sopenharmony_ci2018-04-28 Mark Wielaard <mark@klomp.org> 1282da0c48c4Sopenharmony_ci 1283da0c48c4Sopenharmony_ci * readelf.c (print_debug): If .debug_info is needed implicitly by 1284da0c48c4Sopenharmony_ci then handle it first before handling any other debug section. 1285da0c48c4Sopenharmony_ci (parse_opt): Set implicit_debug_sections to section_info when 1286da0c48c4Sopenharmony_ci showing all debug sections. 1287da0c48c4Sopenharmony_ci 1288da0c48c4Sopenharmony_ci2018-05-05 Mark Wielaard <mark@klomp.org> 1289da0c48c4Sopenharmony_ci 1290da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_FORM_ref_sup4 and 1291da0c48c4Sopenharmony_ci DW_FORM_ref_sup8 as references. 1292da0c48c4Sopenharmony_ci 1293da0c48c4Sopenharmony_ci2018-04-24 Mark Wielaard <mark@klomp.org> 1294da0c48c4Sopenharmony_ci 1295da0c48c4Sopenharmony_ci * readelf.c (print_debug_str_section): Take raw section data. Don't 1296da0c48c4Sopenharmony_ci use dwarf_getstring, but determine start and end of string from 1297da0c48c4Sopenharmony_ci offset and section data directly. 1298da0c48c4Sopenharmony_ci (print_debug): Handle ".debug_line_str" like ".debug_str". 1299da0c48c4Sopenharmony_ci 1300da0c48c4Sopenharmony_ci2018-04-19 Andreas Schwab <schwab@suse.de> 1301da0c48c4Sopenharmony_ci 1302da0c48c4Sopenharmony_ci * elflint.c (valid_e_machine): Add EM_RISCV. 1303da0c48c4Sopenharmony_ci 1304da0c48c4Sopenharmony_ci2018-04-16 Mark Wielaard <mark@klomp.org> 1305da0c48c4Sopenharmony_ci 1306da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section). In advance_pc, advance 1307da0c48c4Sopenharmony_ci using op_addr_advance, not op_advance. 1308da0c48c4Sopenharmony_ci 1309da0c48c4Sopenharmony_ci2018-04-14 Mark Wielaard <mark@klomp.org> 1310da0c48c4Sopenharmony_ci 1311da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Only show errors when not silent. 1312da0c48c4Sopenharmony_ci 1313da0c48c4Sopenharmony_ci2018-03-23 Mark Wielaard <mark@klomp.org> 1314da0c48c4Sopenharmony_ci 1315da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_FORM_strx[1234]. 1316da0c48c4Sopenharmony_ci 1317da0c48c4Sopenharmony_ci2018-03-22 Mark Wielaard <mark@klomp.org> 1318da0c48c4Sopenharmony_ci 1319da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_FORM_addrx[1234]. 1320da0c48c4Sopenharmony_ci 1321da0c48c4Sopenharmony_ci2018-03-28 Mark Wielaard <mark@klomp.org> 1322da0c48c4Sopenharmony_ci 1323da0c48c4Sopenharmony_ci * readelf.c (handle_sysv_hash): Break bucket chain after nchain 1324da0c48c4Sopenharmony_ci entries are found. 1325da0c48c4Sopenharmony_ci (handle_sysv_hash64): Likewise. 1326da0c48c4Sopenharmony_ci 1327da0c48c4Sopenharmony_ci2018-03-27 Mark Wielaard <mark@klomp.org> 1328da0c48c4Sopenharmony_ci 1329da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Print dwarf_dieoffset as %PRIx64, 1330da0c48c4Sopenharmony_ci not %zx. 1331da0c48c4Sopenharmony_ci 1332da0c48c4Sopenharmony_ci2018-03-20 Mark Wielaard <mark@klomp.org> 1333da0c48c4Sopenharmony_ci 1334da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Report error when DW_AT_decl_file or 1335da0c48c4Sopenharmony_ci DW_AT_call_file cannot be resolved. 1336da0c48c4Sopenharmony_ci 1337da0c48c4Sopenharmony_ci2018-03-06 Mark Wielaard <mark@klomp.org> 1338da0c48c4Sopenharmony_ci 1339da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_addrx, DW_OP_constx, 1340da0c48c4Sopenharmony_ci DW_OP_implicit_pointer, DW_OP_entry_value, DW_OP_const_type, 1341da0c48c4Sopenharmony_ci DW_OP_regval_type, DW_OP_deref_type, DW_OP_xderef_type, 1342da0c48c4Sopenharmony_ci DW_OP_convert, DW_OP_reinterpret. 1343da0c48c4Sopenharmony_ci 1344da0c48c4Sopenharmony_ci2018-03-01 Mark Wielaard <mark@klomp.org> 1345da0c48c4Sopenharmony_ci 1346da0c48c4Sopenharmony_ci * readelf.c (struct listptr): Add attr field. 1347da0c48c4Sopenharmony_ci (compare_listptr): Warn when two listptrs for the same offset have 1348da0c48c4Sopenharmony_ci different attributes. 1349da0c48c4Sopenharmony_ci (notice_listptr): Take attr as argument and add it to listptr. 1350da0c48c4Sopenharmony_ci (skip_listptr_hole): New attr argument. 1351da0c48c4Sopenharmony_ci (next_listptr_offset): New function. 1352da0c48c4Sopenharmony_ci (print_debug_ranges_section): Pass NULL attr to skip_listptr_hole. 1353da0c48c4Sopenharmony_ci (attr_callback): Handle DW_AT_GNU_locviews. Call notice_listptr with 1354da0c48c4Sopenharmony_ci attr. 1355da0c48c4Sopenharmony_ci (print_debug_loc_section): Keep track of which attr is associated with 1356da0c48c4Sopenharmony_ci a listptr. If the attr is DW_AT_GNU_locview print view pairs till the 1357da0c48c4Sopenharmony_ci next listptr offset. 1358da0c48c4Sopenharmony_ci 1359da0c48c4Sopenharmony_ci2018-02-09 Mark Wielaard <mark@klomp.org> 1360da0c48c4Sopenharmony_ci 1361da0c48c4Sopenharmony_ci * elflint.c (check_group): Make sure we can read a complete 1362da0c48c4Sopenharmony_ci element when iterating over the group. 1363da0c48c4Sopenharmony_ci 1364da0c48c4Sopenharmony_ci2018-02-09 Mark Wielaard <mark@klomp.org> 1365da0c48c4Sopenharmony_ci 1366da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_FORM_data16 as Dwarf_Block. 1367da0c48c4Sopenharmony_ci 1368da0c48c4Sopenharmony_ci2018-02-09 Mark Wielaard <mark@klomp.org> 1369da0c48c4Sopenharmony_ci 1370da0c48c4Sopenharmony_ci * readelf.c (print_debug_abbrev_section): Print the value of a 1371da0c48c4Sopenharmony_ci DW_FORM_implicit_const using dwarf_getabbrevattr_data. 1372da0c48c4Sopenharmony_ci (attr_callback): Handle DW_FORM_implicit_const. 1373da0c48c4Sopenharmony_ci 1374da0c48c4Sopenharmony_ci2018-01-30 Mark Wielaard <mark@klomp.org> 1375da0c48c4Sopenharmony_ci 1376da0c48c4Sopenharmony_ci * readelf.c (dwarf_unit_string): New function. 1377da0c48c4Sopenharmony_ci (dwarf_unit_name): Likewise. 1378da0c48c4Sopenharmony_ci (print_debug_units): Use dwarf_get_units and dwarf_cu_die instead 1379da0c48c4Sopenharmony_ci of dwarf_next_unit. Print unit type, id and subdie if available. 1380da0c48c4Sopenharmony_ci 1381da0c48c4Sopenharmony_ci2018-02-09 Joshua Watt <JPEWhacker@gmail.com> 1382da0c48c4Sopenharmony_ci 1383da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Use FALLTHROUGH macro instead of 1384da0c48c4Sopenharmony_ci comment. 1385da0c48c4Sopenharmony_ci * elfcompress.c (parse_opt): Likewise. 1386da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Likewise. 1387da0c48c4Sopenharmony_ci (check_sections): Likewise. 1388da0c48c4Sopenharmony_ci (check_note_data): Likewise. 1389da0c48c4Sopenharmony_ci * objdump.c (parse_opt): Likewise. 1390da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Likewise. 1391da0c48c4Sopenharmony_ci (attr_callback): Likewise. 1392da0c48c4Sopenharmony_ci (handle_auxv_note): Likewise. 1393da0c48c4Sopenharmony_ci * strings.c (parse_opt): Likewise. 1394da0c48c4Sopenharmony_ci * backtrace.c (callback_verify): Likewise. 1395da0c48c4Sopenharmony_ci 1396da0c48c4Sopenharmony_ci2018-01-25 Mark Wielaard <mark@klomp.org> 1397da0c48c4Sopenharmony_ci 1398da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Initialize cu to last_cu. 1399da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 1400da0c48c4Sopenharmony_ci 1401da0c48c4Sopenharmony_ci2018-01-01 Mark Wielaard <mark@klomp.org> 1402da0c48c4Sopenharmony_ci 1403da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Use dwarf_form_name for unknown forms. 1404da0c48c4Sopenharmony_ci (print_debug_macro_section): Print form using dwarf_form_name. 1405da0c48c4Sopenharmony_ci 1406da0c48c4Sopenharmony_ci2017-12-28 Mark Wielaard <mark@klomp.org> 1407da0c48c4Sopenharmony_ci 1408da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Print DIE offset in error message 1409da0c48c4Sopenharmony_ci as hex. 1410da0c48c4Sopenharmony_ci 1411da0c48c4Sopenharmony_ci2017-12-18 Mark Wielaard <mark@klomp.org> 1412da0c48c4Sopenharmony_ci 1413da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Don't use EXIT_FAILURE in error. 1414da0c48c4Sopenharmony_ci Adjust error message depending on whether or not we got data. 1415da0c48c4Sopenharmony_ci 1416da0c48c4Sopenharmony_ci2017-12-07 Mark Wielaard <mark@klomp.org> 1417da0c48c4Sopenharmony_ci 1418da0c48c4Sopenharmony_ci * readelf.c (print_ops): Update data pointer and print arguments 1419da0c48c4Sopenharmony_ci to DW_OP_call2 and DW_OP_call4 as DIE offsets. 1420da0c48c4Sopenharmony_ci 1421da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1422da0c48c4Sopenharmony_ci 1423da0c48c4Sopenharmony_ci * readelf.c (argp_options): Add "section-groups", 'g'. 1424da0c48c4Sopenharmony_ci 1425da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1426da0c48c4Sopenharmony_ci 1427da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Print CU base and unresolved 1428da0c48c4Sopenharmony_ci addresses. Adjust formatting. 1429da0c48c4Sopenharmony_ci 1430da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1431da0c48c4Sopenharmony_ci 1432da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Print CU base and unresolved 1433da0c48c4Sopenharmony_ci addresses. Adjust formatting. 1434da0c48c4Sopenharmony_ci 1435da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1436da0c48c4Sopenharmony_ci 1437da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Set valuestr to resolved file name 1438da0c48c4Sopenharmony_ci for DW_AT_decl_file and DW_AT_call_file. 1439da0c48c4Sopenharmony_ci 1440da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1441da0c48c4Sopenharmony_ci 1442da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): Print abbrev code after DIE tag. 1443da0c48c4Sopenharmony_ci 1444da0c48c4Sopenharmony_ci2017-11-29 Mark Wielaard <mark@klomp.org> 1445da0c48c4Sopenharmony_ci 1446da0c48c4Sopenharmony_ci * readelf.c (print_ops): Use only2 space for index. re-indent +5 1447da0c48c4Sopenharmony_ci for DW_OP_GNU_entry_value. 1448da0c48c4Sopenharmony_ci 1449da0c48c4Sopenharmony_ci2017-11-21 Mark Wielaard <mark@klomp.org> 1450da0c48c4Sopenharmony_ci 1451da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Print attribute name and form in error 1452da0c48c4Sopenharmony_ci message. If only the value cannot be retrieved/resolved don't abort. 1453da0c48c4Sopenharmony_ci 1454da0c48c4Sopenharmony_ci2017-10-03 Mark Wielaard <mark@klomp.org> 1455da0c48c4Sopenharmony_ci 1456da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Print DIE offset in error messages. 1457da0c48c4Sopenharmony_ci 1458da0c48c4Sopenharmony_ci2017-11-03 Mark Wielaard <mark@klomp.org> 1459da0c48c4Sopenharmony_ci 1460da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_GNU_variable_value. Print 1461da0c48c4Sopenharmony_ci referenced DIE as offset. 1462da0c48c4Sopenharmony_ci 1463da0c48c4Sopenharmony_ci2017-09-10 Mark Wielaard <mark@klomp.org> 1464da0c48c4Sopenharmony_ci 1465da0c48c4Sopenharmony_ci * ar.c (do_oper_delete): Remove DEBUG conditional check. 1466da0c48c4Sopenharmony_ci (no0print): Return bool. Check snprintf return value. 1467da0c48c4Sopenharmony_ci (do_oper_insert): Initialize elf. Remove DEBUG conditional check. 1468da0c48c4Sopenharmony_ci Check no0print calls succeed. Explicitly elf_end found elfs. 1469da0c48c4Sopenharmony_ci (do_oper_extract): Make sure we don't create an empty variable 1470da0c48c4Sopenharmony_ci length array. 1471da0c48c4Sopenharmony_ci 1472da0c48c4Sopenharmony_ci2017-09-01 Mark Wielaard <mark@klomp.org> 1473da0c48c4Sopenharmony_ci 1474da0c48c4Sopenharmony_ci * stack.c (main): Replace \v in doc string with \n\n. 1475da0c48c4Sopenharmony_ci * unstrip.c (main): Likewise. 1476da0c48c4Sopenharmony_ci 1477da0c48c4Sopenharmony_ci2017-05-04 Ulf Hermann <ulf.hermann@qt.io> 1478da0c48c4Sopenharmony_ci 1479da0c48c4Sopenharmony_ci * stack.c: Print pid_t using %lld. 1480da0c48c4Sopenharmony_ci 1481da0c48c4Sopenharmony_ci2017-08-18 Ulf Hermann <ulf.hermann@qt.io> 1482da0c48c4Sopenharmony_ci 1483da0c48c4Sopenharmony_ci * readelf.c: Hardcode the signal numbers for non-linux systems. 1484da0c48c4Sopenharmony_ci 1485da0c48c4Sopenharmony_ci2017-07-26 Mark Wielaard <mark@klomp.org> 1486da0c48c4Sopenharmony_ci 1487da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Accept either version 4 or 1488da0c48c4Sopenharmony_ci version 5. Use DW_MACRO names instead of DW_MACRO_GNU names. Add 1489da0c48c4Sopenharmony_ci minimal support for DW_MACRO_define_sup, DW_MACRO_undef_sup, 1490da0c48c4Sopenharmony_ci DW_MACRO_import_sup, DW_MACRO_define_strx and DW_MACRO_undef_strx. 1491da0c48c4Sopenharmony_ci 1492da0c48c4Sopenharmony_ci2017-07-26 Mark Wielaard <mark@klomp.org> 1493da0c48c4Sopenharmony_ci 1494da0c48c4Sopenharmony_ci * readelf.c (dwarf_defaulted_string): New function. 1495da0c48c4Sopenharmony_ci (dwarf_defaulted_name): Likewise. 1496da0c48c4Sopenharmony_ci (attr_callback): Use dwarf_defaulted_name to get value of 1497da0c48c4Sopenharmony_ci DW_AT_defaulted. 1498da0c48c4Sopenharmony_ci 1499da0c48c4Sopenharmony_ci2017-07-20 Mark Wielaard <mark@klomp.org> 1500da0c48c4Sopenharmony_ci 1501da0c48c4Sopenharmony_ci * strip.c (handle_elf): Deal with data marker symbols pointing to 1502da0c48c4Sopenharmony_ci debug sections (they can be removed). 1503da0c48c4Sopenharmony_ci 1504da0c48c4Sopenharmony_ci2017-07-14 Mark Wielaard <mark@klomp.org> 1505da0c48c4Sopenharmony_ci 1506da0c48c4Sopenharmony_ci * strip (OPT_KEEP_SECTION): New define. 1507da0c48c4Sopenharmony_ci (options): Add documentation for remove-section. Add keep-section. 1508da0c48c4Sopenharmony_ci (struct section_pattern): New data type. 1509da0c48c4Sopenharmony_ci (keep_secs, remove_secs): New globals. 1510da0c48c4Sopenharmony_ci (add_pattern, free_sec_patterns, free_patterns, section_name_matches): 1511da0c48c4Sopenharmony_ci New functions. 1512da0c48c4Sopenharmony_ci (main): Call free_patterns. 1513da0c48c4Sopenharmony_ci (parse_opt): Handle 'R' and OPT_KEEP_SECTION. Check remove_comment 1514da0c48c4Sopenharmony_ci on ARGP_KEY_SUCCESS. 1515da0c48c4Sopenharmony_ci (handle_elf): Handle and sanity check keep_secs and remove_secs. 1516da0c48c4Sopenharmony_ci 1517da0c48c4Sopenharmony_ci2017-06-07 Mark Wielaard <mark@klomp.org> 1518da0c48c4Sopenharmony_ci 1519da0c48c4Sopenharmony_ci * strip.c (handle_elf): Introduce new handle_elf boolean. Use it to 1520da0c48c4Sopenharmony_ci determine whether to create an output and/or debug file. Remove new 1521da0c48c4Sopenharmony_ci output file on error. 1522da0c48c4Sopenharmony_ci 1523da0c48c4Sopenharmony_ci2017-06-06 Mark Wielaard <mark@klomp.org> 1524da0c48c4Sopenharmony_ci 1525da0c48c4Sopenharmony_ci * strip.c (handle_elf): Assume e_shstrndx section can be removed. 1526da0c48c4Sopenharmony_ci 1527da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 1528da0c48c4Sopenharmony_ci 1529da0c48c4Sopenharmony_ci * readelf.c: Include strings.h. 1530da0c48c4Sopenharmony_ci 1531da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 1532da0c48c4Sopenharmony_ci 1533da0c48c4Sopenharmony_ci * unstrip.c: Check shnum for 0 before subtracting from it. 1534da0c48c4Sopenharmony_ci 1535da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 1536da0c48c4Sopenharmony_ci 1537da0c48c4Sopenharmony_ci * readelf.c: Replace YESSTR and NOSTR with gettext ("yes") and 1538da0c48c4Sopenharmony_ci gettext ("no"), respectively. 1539da0c48c4Sopenharmony_ci 1540da0c48c4Sopenharmony_ci2017-04-05 Mark Wielaard <mark@klomp.org> 1541da0c48c4Sopenharmony_ci 1542da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Decompress all sections. 1543da0c48c4Sopenharmony_ci 1544da0c48c4Sopenharmony_ci2017-03-28 Mark Wielaard <mark@klomp.org> 1545da0c48c4Sopenharmony_ci 1546da0c48c4Sopenharmony_ci * elflint (check_group): Don't check if there is no flag word. 1547da0c48c4Sopenharmony_ci 1548da0c48c4Sopenharmony_ci2017-03-27 Mark Wielaard <mark@klomp.org> 1549da0c48c4Sopenharmony_ci 1550da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Sanity check phnum and shnum. 1551da0c48c4Sopenharmony_ci 1552da0c48c4Sopenharmony_ci2017-03-27 Mark Wielaard <mark@klomp.org> 1553da0c48c4Sopenharmony_ci 1554da0c48c4Sopenharmony_ci * elflint.c (check_sysv_hash): Return early if section size is 1555da0c48c4Sopenharmony_ci too small. 1556da0c48c4Sopenharmony_ci (check_sysv_hash64): Likewise. 1557da0c48c4Sopenharmony_ci (check_hash): Calculate expect_entsize to check section size. 1558da0c48c4Sopenharmony_ci 1559da0c48c4Sopenharmony_ci2017-03-27 Mark Wielaard <mark@klomp.org> 1560da0c48c4Sopenharmony_ci 1561da0c48c4Sopenharmony_ci * elflint.c (check_symtab_shndx): Check data->d_size. 1562da0c48c4Sopenharmony_ci 1563da0c48c4Sopenharmony_ci2017-03-24 Mark Wielaard <mjw@redhat.com> 1564da0c48c4Sopenharmony_ci 1565da0c48c4Sopenharmony_ci * elfcmp.c (main): If n_namesz == 0 then the note name data is the 1566da0c48c4Sopenharmony_ci empty string. 1567da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Likewise. 1568da0c48c4Sopenharmony_ci 1569da0c48c4Sopenharmony_ci2017-03-24 Mark Wielaard <mjw@redhat.com> 1570da0c48c4Sopenharmony_ci 1571da0c48c4Sopenharmony_ci * readelf.c (handle_gnu_hash): Check inner < max_nsyms before 1572da0c48c4Sopenharmony_ci indexing into chain array. 1573da0c48c4Sopenharmony_ci 1574da0c48c4Sopenharmony_ci2017-02-16 Ulf Hermann <ulf.hermann@qt.io> 1575da0c48c4Sopenharmony_ci 1576da0c48c4Sopenharmony_ci * addr2line.c: Include printversion.h 1577da0c48c4Sopenharmony_ci * ar.c: Likewise. 1578da0c48c4Sopenharmony_ci * elflint.c: Likewise. 1579da0c48c4Sopenharmony_ci * nm.c: Likewise. 1580da0c48c4Sopenharmony_ci * objdump.c: Likewise. 1581da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 1582da0c48c4Sopenharmony_ci * readelf.c: Likewise. 1583da0c48c4Sopenharmony_ci * size.c: Likewise. 1584da0c48c4Sopenharmony_ci * stack.c: Likewise. 1585da0c48c4Sopenharmony_ci * strings.c: Likewise. 1586da0c48c4Sopenharmony_ci * strip.c: Likewise. 1587da0c48c4Sopenharmony_ci * elfcmp.c: Include printversion.h, remove system.h include. 1588da0c48c4Sopenharmony_ci * elfcompress.c: Likewise. 1589da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 1590da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 1591da0c48c4Sopenharmony_ci 1592da0c48c4Sopenharmony_ci2017-02-14 Ulf Hermann <ulf.hermann@qt.io> 1593da0c48c4Sopenharmony_ci 1594da0c48c4Sopenharmony_ci * nm.c: Include color.h. 1595da0c48c4Sopenharmony_ci * objdump.c: Likewise. 1596da0c48c4Sopenharmony_ci 1597da0c48c4Sopenharmony_ci2016-12-24 Mark Wielaard <mark@klomp.org> 1598da0c48c4Sopenharmony_ci 1599da0c48c4Sopenharmony_ci * Makefile.am (findtextrel_LDADD): Add $(libeu). 1600da0c48c4Sopenharmony_ci (addr2line_LDADD): Likewise. 1601da0c48c4Sopenharmony_ci (elfcmp_LDADD): Likewise. 1602da0c48c4Sopenharmony_ci * addr2line.c (print_version): Removed. 1603da0c48c4Sopenharmony_ci * ar.c (print_version): Likewise. 1604da0c48c4Sopenharmony_ci * elfcmp.c (print_version): Likewise. 1605da0c48c4Sopenharmony_ci * elfcompress.c (print_version): Likewise. 1606da0c48c4Sopenharmony_ci * elflint.c (print_version): Likewise. 1607da0c48c4Sopenharmony_ci * findtextrel.c (print_version): Likewise. 1608da0c48c4Sopenharmony_ci * nm.c (print_version): Likewise. 1609da0c48c4Sopenharmony_ci * objdump.c: Likewise. 1610da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 1611da0c48c4Sopenharmony_ci * readelf.c: Likewise. 1612da0c48c4Sopenharmony_ci * size.c: Likewise. 1613da0c48c4Sopenharmony_ci * stack.c: Likewise. 1614da0c48c4Sopenharmony_ci * strings.c: Likewise. 1615da0c48c4Sopenharmony_ci * strip.c: Likewise. 1616da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 1617da0c48c4Sopenharmony_ci 1618da0c48c4Sopenharmony_ci2016-11-17 Mark Wielaard <mjw@redhat.com> 1619da0c48c4Sopenharmony_ci 1620da0c48c4Sopenharmony_ci * readelf.c (options): Add optional arg SECTION for symbols. 1621da0c48c4Sopenharmony_ci (symbol_table_section): New static variable. 1622da0c48c4Sopenharmony_ci (parse_opt): Set symbol_table_section on 's'. 1623da0c48c4Sopenharmony_ci (print_symtab): Filter on symbol_table_section name is set. 1624da0c48c4Sopenharmony_ci 1625da0c48c4Sopenharmony_ci2016-11-10 Mark Wielaard <mjw@redhat.com> 1626da0c48c4Sopenharmony_ci 1627da0c48c4Sopenharmony_ci * ar.c (write_member): Make sure tmpbuf is large enough to contain 1628da0c48c4Sopenharmony_ci a starting '/' and ending '\0' char. 1629da0c48c4Sopenharmony_ci (do_oper_insert): Likewise. 1630da0c48c4Sopenharmony_ci * arlib.c (arlib_finalize): Format tmpbuf as PRId32 decimal. 1631da0c48c4Sopenharmony_ci 1632da0c48c4Sopenharmony_ci2016-11-02 Mark Wielaard <mjw@redhat.com> 1633da0c48c4Sopenharmony_ci 1634da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Add fallthrough comment. 1635da0c48c4Sopenharmony_ci * elfcompress.c (parse_opt): Adjust fallthrough comment. 1636da0c48c4Sopenharmony_ci * elflint.c (parse_opt): Add missing break after 'd' case. 1637da0c48c4Sopenharmony_ci (check_sections): Add fallthrough comments. 1638da0c48c4Sopenharmony_ci * objdump.c (parse_opt): Add explantion for fallthrough comment. 1639da0c48c4Sopenharmony_ci 1640da0c48c4Sopenharmony_ci2016-10-22 Kevin Cernekee <cernekee@chromium.org> 1641da0c48c4Sopenharmony_ci 1642da0c48c4Sopenharmony_ci * unstrip.c: Fix "invalid string offset" error caused by using the 1643da0c48c4Sopenharmony_ci unstripped .symtab with the stripped .strtab. 1644da0c48c4Sopenharmony_ci 1645da0c48c4Sopenharmony_ci2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 1646da0c48c4Sopenharmony_ci 1647da0c48c4Sopenharmony_ci * arlib.c: Remove system.h include, add libeu.h include. 1648da0c48c4Sopenharmony_ci * arlib2.c: Remove sys/param.h include. 1649da0c48c4Sopenharmony_ci * elfcompress.c: Add libeu.h include. 1650da0c48c4Sopenharmony_ci * elflint.c: Remove sys/param.h include, add libeu.h include. 1651da0c48c4Sopenharmony_ci * nm.c: Likewise. 1652da0c48c4Sopenharmony_ci * objdump.c: Likewise. 1653da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 1654da0c48c4Sopenharmony_ci * readelf.c: Likewise. 1655da0c48c4Sopenharmony_ci * size.c: Remove sys/param.h include. 1656da0c48c4Sopenharmony_ci * strings.c: Likewise, add libeu.h include. 1657da0c48c4Sopenharmony_ci * strip.c: Likewise. 1658da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 1659da0c48c4Sopenharmony_ci 1660da0c48c4Sopenharmony_ci2016-10-06 Mark Wielaard <mjw@redhat.com> 1661da0c48c4Sopenharmony_ci 1662da0c48c4Sopenharmony_ci * strip.c (handle_elf): Don't remove real symbols from allocated 1663da0c48c4Sopenharmony_ci symbol tables. 1664da0c48c4Sopenharmony_ci 1665da0c48c4Sopenharmony_ci2016-08-25 Mark Wielaard <mjw@redhat.com> 1666da0c48c4Sopenharmony_ci 1667da0c48c4Sopenharmony_ci * strip.c (handle_elf): Recompress with ELF_CHF_FORCE. 1668da0c48c4Sopenharmony_ci 1669da0c48c4Sopenharmony_ci2016-08-06 Mark Wielaard <mjw@redhat.com> 1670da0c48c4Sopenharmony_ci 1671da0c48c4Sopenharmony_ci * strip.c (handle_elf): Uncompress and recompress relocation target 1672da0c48c4Sopenharmony_ci section if necessary. 1673da0c48c4Sopenharmony_ci 1674da0c48c4Sopenharmony_ci2016-07-08 Mark Wielaard <mjw@redhat.com> 1675da0c48c4Sopenharmony_ci 1676da0c48c4Sopenharmony_ci * Makefile.am (strip_LDADD): Add libdw. 1677da0c48c4Sopenharmony_ci * elfcompress.c (process_file): Use dwelf_strtab functions instead of 1678da0c48c4Sopenharmony_ci ebl_strtab. 1679da0c48c4Sopenharmony_ci * strip.c (handle_elf): Likewise. 1680da0c48c4Sopenharmony_ci * unstrip.c (new_shstrtab): Likewise. 1681da0c48c4Sopenharmony_ci 1682da0c48c4Sopenharmony_ci2016-07-06 Mark Wielaard <mjw@redhat.com> 1683da0c48c4Sopenharmony_ci 1684da0c48c4Sopenharmony_ci * elf32-i386.script, i386_ld.c, ld.c, ld.h, ldgeneric.c, ldlex.l, 1685da0c48c4Sopenharmony_ci ldscript.y, libld_elf_i386.map, none_ld.c, sectionhash.c, 1686da0c48c4Sopenharmony_ci sectionhash.h, symbolhash.c, symbolhash.h, unaligned.h, 1687da0c48c4Sopenharmony_ci versionhash.c, versionhash.h, xelf.h: Removed. 1688da0c48c4Sopenharmony_ci * Makefile.am (YACC): Removed. 1689da0c48c4Sopenharmony_ci (AM_YFLAGS): Removed. 1690da0c48c4Sopenharmony_ci (AM_LFLAGS): Removed. 1691da0c48c4Sopenharmony_ci (native_ld): Removed. 1692da0c48c4Sopenharmony_ci (base_cpu): Removed. 1693da0c48c4Sopenharmony_ci (bin_PROGRAMS): Removed ld. 1694da0c48c4Sopenharmony_ci (ld_dsos): Removed. 1695da0c48c4Sopenharmony_ci (ld_SOURCES): Removed. 1696da0c48c4Sopenharmony_ci (noinst_LIBRARIES): Only libar.a. 1697da0c48c4Sopenharmony_ci (EXTRA_DIST): Just arlib.h and debugpred.h. 1698da0c48c4Sopenharmony_ci (ld_LDADD): Removed. 1699da0c48c4Sopenharmony_ci (ld_LDFLAGS): Removed. 1700da0c48c4Sopenharmony_ci (ldlex.o): Removed. 1701da0c48c4Sopenharmony_ci (ldscript.h): Removed. 1702da0c48c4Sopenharmony_ci (libld*): Removed. 1703da0c48c4Sopenharmony_ci (CLEANFILES): Just *.gconv. 1704da0c48c4Sopenharmony_ci (MAINTAINERCLEANFILES): Removed. 1705da0c48c4Sopenharmony_ci 1706da0c48c4Sopenharmony_ci2016-07-06 Mark Wielaard <mjw@redhat.com> 1707da0c48c4Sopenharmony_ci 1708da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Use unstripped_strent[] from 1709da0c48c4Sopenharmony_ci index zero, instead of one. 1710da0c48c4Sopenharmony_ci 1711da0c48c4Sopenharmony_ci2016-06-28 Richard Henderson <rth@redhat.com> 1712da0c48c4Sopenharmony_ci 1713da0c48c4Sopenharmony_ci * elflint.c (valid_e_machine): Add EM_BPF. 1714da0c48c4Sopenharmony_ci 1715da0c48c4Sopenharmony_ci2016-04-11 David Abdurachmanov <davidlt@cern.ch> 1716da0c48c4Sopenharmony_ci 1717da0c48c4Sopenharmony_ci * elfcmp.c (main): Fix self-comparison error with GCC 6. 1718da0c48c4Sopenharmony_ci 1719da0c48c4Sopenharmony_ci2016-03-21 Mark Wielaard <mjw@redhat.com> 1720da0c48c4Sopenharmony_ci 1721da0c48c4Sopenharmony_ci * nm.c (show_symbols): Check for malloc size argument overflow. 1722da0c48c4Sopenharmony_ci 1723da0c48c4Sopenharmony_ci2016-02-13 Mark Wielaard <mjw@redhat.com> 1724da0c48c4Sopenharmony_ci 1725da0c48c4Sopenharmony_ci * readelf.c (print_scngrp): Call error when gelf_getshdr fails. 1726da0c48c4Sopenharmony_ci (print_symtab): Likewise. 1727da0c48c4Sopenharmony_ci (handle_hash): Likewise. 1728da0c48c4Sopenharmony_ci (dump_data_section): Print a warning if decompressing fails. 1729da0c48c4Sopenharmony_ci (print_string_section): Likewise. 1730da0c48c4Sopenharmony_ci 1731da0c48c4Sopenharmony_ci2016-02-13 Mark Wielaard <mjw@redhat.com> 1732da0c48c4Sopenharmony_ci 1733da0c48c4Sopenharmony_ci * elfcompress.c (parse_opt): Don't fallthrough after processing -q. 1734da0c48c4Sopenharmony_ci 1735da0c48c4Sopenharmony_ci2016-02-12 Mark Wielaard <mjw@redhat.com> 1736da0c48c4Sopenharmony_ci 1737da0c48c4Sopenharmony_ci * strip.c (handle_elf): Correct elf_assert shndxdata check. 1738da0c48c4Sopenharmony_ci 1739da0c48c4Sopenharmony_ci2016-02-09 Mark Wielaard <mjw@redhat.com> 1740da0c48c4Sopenharmony_ci 1741da0c48c4Sopenharmony_ci * readelf.c (read_encoded): Move up. 1742da0c48c4Sopenharmony_ci (print_cfa_program): Add encoding argument. Use it for read_encoded 1743da0c48c4Sopenharmony_ci when reading DW_CFA_set_loc op. 1744da0c48c4Sopenharmony_ci (print_debug_frame_section): Pass fde_encoding to print_cfa_program. 1745da0c48c4Sopenharmony_ci 1746da0c48c4Sopenharmony_ci2016-02-09 Mark Wielaard <mjw@redhat.com> 1747da0c48c4Sopenharmony_ci 1748da0c48c4Sopenharmony_ci * elflint.c (compare_hash_gnu_hash): Check hash sh_entsize against 1749da0c48c4Sopenharmony_ci sizeof (Elf64_Xword). Correct invalid sh_entsize error message 1750da0c48c4Sopenharmony_ci section idx and name. 1751da0c48c4Sopenharmony_ci 1752da0c48c4Sopenharmony_ci2016-01-13 Mark Wielaard <mjw@redhat.com> 1753da0c48c4Sopenharmony_ci 1754da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Recognize ELFOSABI_FREEBSD. 1755da0c48c4Sopenharmony_ci 1756da0c48c4Sopenharmony_ci2016-01-08 Mark Wielaard <mjw@redhat.com> 1757da0c48c4Sopenharmony_ci 1758da0c48c4Sopenharmony_ci * elfcompress.c (compress_section): Use %zu to print size_t. 1759da0c48c4Sopenharmony_ci * readelf.c (print_shdr): Use %zx to print size_t. 1760da0c48c4Sopenharmony_ci 1761da0c48c4Sopenharmony_ci2015-12-16 Mark Wielaard <mjw@redhat.com> 1762da0c48c4Sopenharmony_ci 1763da0c48c4Sopenharmony_ci * elfcompress.c: New file. 1764da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add elfcompress. 1765da0c48c4Sopenharmony_ci (elfcompress_LDADD): New variable. 1766da0c48c4Sopenharmony_ci 1767da0c48c4Sopenharmony_ci2015-12-18 Mark Wielaard <mjw@redhat.com> 1768da0c48c4Sopenharmony_ci 1769da0c48c4Sopenharmony_ci * elflint.c (section_flags_string): Add NEWFLAG COMPRESSED. 1770da0c48c4Sopenharmony_ci (check_sections): SHF_COMPRESSED can be on any special section. 1771da0c48c4Sopenharmony_ci SHF_COMPRESSED is a valid section flag. SHF_COMPRESSED cannot 1772da0c48c4Sopenharmony_ci be used together with SHF_ALLOC or with SHT_NOBITS. Should have 1773da0c48c4Sopenharmony_ci a valid Chdr. 1774da0c48c4Sopenharmony_ci 1775da0c48c4Sopenharmony_ci2015-10-20 Mark Wielaard <mjw@redhat.com> 1776da0c48c4Sopenharmony_ci 1777da0c48c4Sopenharmony_ci * readelf.c (options): Expand -z help text. 1778da0c48c4Sopenharmony_ci (dump_data_section): Check whether we need and can decompress section 1779da0c48c4Sopenharmony_ci data and call elf_rawzdata if so, 1780da0c48c4Sopenharmony_ci (print_string_section): Likewise. 1781da0c48c4Sopenharmony_ci (elf_contains_chdrs): New function. 1782da0c48c4Sopenharmony_ci (process_elf_file): Rename print_unrelocated to print_unchanged, 1783da0c48c4Sopenharmony_ci use elf_contains_chdrs. 1784da0c48c4Sopenharmony_ci (print_scngrp): Check whether section is compressed before use. 1785da0c48c4Sopenharmony_ci (print_symtab): Likewise. 1786da0c48c4Sopenharmony_ci (handle_hash): Likewise. 1787da0c48c4Sopenharmony_ci 1788da0c48c4Sopenharmony_ci2015-10-16 Mark Wielaard <mjw@redhat.com> 1789da0c48c4Sopenharmony_ci 1790da0c48c4Sopenharmony_ci * readelf.c (argp_option): Describe --decompress,-z. 1791da0c48c4Sopenharmony_ci (print_decompress): New bool. 1792da0c48c4Sopenharmony_ci (parse_opt): Handle -z. 1793da0c48c4Sopenharmony_ci (elf_ch_type_name): New function. 1794da0c48c4Sopenharmony_ci (print_shdr): Print section compress information. 1795da0c48c4Sopenharmony_ci 1796da0c48c4Sopenharmony_ci2015-12-31 Mark Wielaard <mjw@redhat.com> 1797da0c48c4Sopenharmony_ci 1798da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Add _edata and _end (plus extra underscore 1799da0c48c4Sopenharmony_ci variants) to to the list of possibly dangling symbols. 1800da0c48c4Sopenharmony_ci 1801da0c48c4Sopenharmony_ci2015-12-02 Mark Wielaard <mjw@redhat.com> 1802da0c48c4Sopenharmony_ci 1803da0c48c4Sopenharmony_ci * nm.c (process_file): Accept fd and pass it on. 1804da0c48c4Sopenharmony_ci (handle_elf): Likewise. 1805da0c48c4Sopenharmony_ci (find_no_debuginfo): New. 1806da0c48c4Sopenharmony_ci (struct getdbg): Likewise. 1807da0c48c4Sopenharmony_ci (getdbg_dwflmod): Likewise. 1808da0c48c4Sopenharmony_ci (show_symbols): Take fd. If the file is ET_REL use libdwfl to get 1809da0c48c4Sopenharmony_ci the relocated Dwarf. 1810da0c48c4Sopenharmony_ci 1811da0c48c4Sopenharmony_ci2015-12-02 Mark Wielaard <mjw@redhat.com> 1812da0c48c4Sopenharmony_ci 1813da0c48c4Sopenharmony_ci * nm.c (get_local_names): Check for duplicates in local_root tree. 1814da0c48c4Sopenharmony_ci 1815da0c48c4Sopenharmony_ci2015-12-02 Mark Wielaard <mjw@redhat.com> 1816da0c48c4Sopenharmony_ci 1817da0c48c4Sopenharmony_ci * unstrip.c (struct data_list): New. 1818da0c48c4Sopenharmony_ci (new_data_list): Likewise. 1819da0c48c4Sopenharmony_ci (record_new_data): Likewise. 1820da0c48c4Sopenharmony_ci (free_new_data): Likewise. 1821da0c48c4Sopenharmony_ci (adjust_relocs): Call record_new_data. 1822da0c48c4Sopenharmony_ci (add_new_section_symbols): Likewise. 1823da0c48c4Sopenharmony_ci (copy_elided_sections): Call free_new_data. 1824da0c48c4Sopenharmony_ci 1825da0c48c4Sopenharmony_ci2015-12-01 Mark Wielaard <mjw@redhat.com> 1826da0c48c4Sopenharmony_ci 1827da0c48c4Sopenharmony_ci * elfcmp.c (main): Close ebl1 and ebl2 backends. 1828da0c48c4Sopenharmony_ci 1829da0c48c4Sopenharmony_ci2015-10-16 Mark Wielaard <mjw@redhat.com> 1830da0c48c4Sopenharmony_ci 1831da0c48c4Sopenharmony_ci * Makefile.am [BUILD_STATIC](libdw): Add -lz. 1832da0c48c4Sopenharmony_ci [BUILD_STATIC](libelf): Likewise. 1833da0c48c4Sopenharmony_ci 1834da0c48c4Sopenharmony_ci2015-10-16 Mark Wielaard <mjw@redhat.com> 1835da0c48c4Sopenharmony_ci 1836da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Don't check TLS symbol value against TLS 1837da0c48c4Sopenharmony_ci phdr offset in debuginfo files. 1838da0c48c4Sopenharmony_ci (check_sections): Don't try to match section offsets to phdrs offsets 1839da0c48c4Sopenharmony_ci in debuginfo files. 1840da0c48c4Sopenharmony_ci 1841da0c48c4Sopenharmony_ci2015-10-16 Mark Wielaard <mjw@redhat.com> 1842da0c48c4Sopenharmony_ci 1843da0c48c4Sopenharmony_ci * elflint.c (check_reloc_shdr): Reject only desthdrs if they have both 1844da0c48c4Sopenharmony_ci SHF_MERGE and SHF_STRINGS set. 1845da0c48c4Sopenharmony_ci 1846da0c48c4Sopenharmony_ci2015-10-13 Jose E. Marchesi <jose.marchesi@oracle.com> 1847da0c48c4Sopenharmony_ci 1848da0c48c4Sopenharmony_ci * elflint.c (check_sections): Do not rely on 1849da0c48c4Sopenharmony_ci ebl_check_special_section when checking debuginfo files. Also 1850da0c48c4Sopenharmony_ci check that the type of WE sections in debuginfo files is NOBITS. 1851da0c48c4Sopenharmony_ci 1852da0c48c4Sopenharmony_ci2015-10-13 Mark Wielaard <mjw@redhat.com> 1853da0c48c4Sopenharmony_ci 1854da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Check relro flags are a subset 1855da0c48c4Sopenharmony_ci of the load segment if they don't fully overlap. 1856da0c48c4Sopenharmony_ci 1857da0c48c4Sopenharmony_ci2015-10-07 Mark Wielaard <mjw@redhat.com> 1858da0c48c4Sopenharmony_ci 1859da0c48c4Sopenharmony_ci * Makefile.am (ldlex_no_Wstack_usage): New. 1860da0c48c4Sopenharmony_ci * ldlex.l ([RWX]): Make cnt unsigned. 1861da0c48c4Sopenharmony_ci 1862da0c48c4Sopenharmony_ci2015-10-09 Josh Stone <jistone@redhat.com> 1863da0c48c4Sopenharmony_ci 1864da0c48c4Sopenharmony_ci * elflint.c (main): Replace stat64 and fstat64 with stat and fstat. 1865da0c48c4Sopenharmony_ci * readelf.c (process_file): Likewise. 1866da0c48c4Sopenharmony_ci (process_elf_file): Replace off64_t with off_t. 1867da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Replace open64 with open. 1868da0c48c4Sopenharmony_ci * ld.c (main): Replace sizeof (off64_t) with 8. 1869da0c48c4Sopenharmony_ci * strings.c: Replace off64_t with off_t throughout. 1870da0c48c4Sopenharmony_ci (main): Replace stat64 and fstat64 with stat and fstat. 1871da0c48c4Sopenharmony_ci (map_file): Replace mmap64 with mmap. 1872da0c48c4Sopenharmony_ci (read_block): Likewise, and replace lseek64 with lseek. 1873da0c48c4Sopenharmony_ci * strip.c (handle_elf): Replace ftruncate64 with ftruncate. 1874da0c48c4Sopenharmony_ci (process_file): Replace stat64 and fstat64 with stat and fstat. 1875da0c48c4Sopenharmony_ci * unstrip.c (parse_opt): Replace stat64 with stat. 1876da0c48c4Sopenharmony_ci (handle_file): Replace open64 with open. 1877da0c48c4Sopenharmony_ci (open_file): Likewise. 1878da0c48c4Sopenharmony_ci 1879da0c48c4Sopenharmony_ci2015-10-08 Chih-Hung Hsieh <chh@google.com> 1880da0c48c4Sopenharmony_ci 1881da0c48c4Sopenharmony_ci * ld.c (determine_output_format): Move recursive nested 1882da0c48c4Sopenharmony_ci function "try" to file scope. 1883da0c48c4Sopenharmony_ci 1884da0c48c4Sopenharmony_ci2015-10-04 Mark Wielaard <mjw@redhat.com> 1885da0c48c4Sopenharmony_ci 1886da0c48c4Sopenharmony_ci * strip.c (handle_elf): Only sanity check section symbols to not 1887da0c48c4Sopenharmony_ci kept discarded sections if we are creating a debug file. 1888da0c48c4Sopenharmony_ci 1889da0c48c4Sopenharmony_ci2015-10-07 Mark Wielaard <mjw@redhat.com> 1890da0c48c4Sopenharmony_ci 1891da0c48c4Sopenharmony_ci * unstrip.c (MAX): Removed. 1892da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): Allocate exact amount of bytes for 1893da0c48c4Sopenharmony_ci shdrs. 1894da0c48c4Sopenharmony_ci 1895da0c48c4Sopenharmony_ci2015-10-05 Chih-Hung Hsieh <chh@google.com> 1896da0c48c4Sopenharmony_ci 1897da0c48c4Sopenharmony_ci * unstrip.c (find_alloc_sections_prelink): Do not allocate 1898da0c48c4Sopenharmony_ci on stack union types with variable length arrays; use xmalloc 1899da0c48c4Sopenharmony_ci for such dynamic sized objects. 1900da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Likewise, but use alloca 1901da0c48c4Sopenharmony_ci for small variable size data object and add assert(count < 128). 1902da0c48c4Sopenharmony_ci 1903da0c48c4Sopenharmony_ci2015-10-05 Josh Stone <jistone@redhat.com> 1904da0c48c4Sopenharmony_ci 1905da0c48c4Sopenharmony_ci * Makefile.am (libld_elf_i386.so): Add AM_V_CCLD silencer. 1906da0c48c4Sopenharmony_ci (.deps/none_ld.Po): Always silence the dummy command. 1907da0c48c4Sopenharmony_ci (make-debug-archive): Add AM_V_GEN and AM_V_at silencers. 1908da0c48c4Sopenharmony_ci 1909da0c48c4Sopenharmony_ci2015-10-02 Mark Wielaard <mjw@redhat.com> 1910da0c48c4Sopenharmony_ci 1911da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Use SH_INFO_LINK_P, not just 1912da0c48c4Sopenharmony_ci SHF_INFO_LINK. 1913da0c48c4Sopenharmony_ci 1914da0c48c4Sopenharmony_ci2015-10-02 Mark Wielaard <mjw@redhat.com> 1915da0c48c4Sopenharmony_ci 1916da0c48c4Sopenharmony_ci * strip.c (handle_elf): Don't move around allocated NOBITS sections. 1917da0c48c4Sopenharmony_ci Don't just mark the section header string table as unused. 1918da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Add header names to strtab if 1919da0c48c4Sopenharmony_ci shstrndx equals the symtab strtabndx. 1920da0c48c4Sopenharmony_ci 1921da0c48c4Sopenharmony_ci2015-09-22 Mark Wielaard <mjw@redhat.com> 1922da0c48c4Sopenharmony_ci 1923da0c48c4Sopenharmony_ci * strip.c (cleanup_debug): Remove old-style function definitions. 1924da0c48c4Sopenharmony_ci 1925da0c48c4Sopenharmony_ci2015-09-09 Chih-Hung Hsieh <chh@google.com> 1926da0c48c4Sopenharmony_ci 1927da0c48c4Sopenharmony_ci * readelf.c (print_debug_exception_table): Initialize variable before 1928da0c48c4Sopenharmony_ci it is used, because compiler does not know that error never returns. 1929da0c48c4Sopenharmony_ci (dump_arhive_index): Likewise. 1930da0c48c4Sopenharmony_ci 1931da0c48c4Sopenharmony_ci2015-09-04 Chih-Hung Hsieh <chh@google.com> 1932da0c48c4Sopenharmony_ci 1933da0c48c4Sopenharmony_ci * elflint.c (check_group): Replace %Z length modifier with %z. 1934da0c48c4Sopenharmony_ci (check_note_data): Likewise. 1935da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Likewise. 1936da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic): Likewise. 1937da0c48c4Sopenharmony_ci (handle_symtab): Likewise. 1938da0c48c4Sopenharmony_ci (handle_verneed): Likewise. 1939da0c48c4Sopenharmony_ci (handle_verdef): Likewise. 1940da0c48c4Sopenharmony_ci (handle_versym): Likewise. 1941da0c48c4Sopenharmony_ci (print_hash_info): Likewise. 1942da0c48c4Sopenharmony_ci (print_decoded_aranges_section): Likewise. 1943da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 1944da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 1945da0c48c4Sopenharmony_ci (hex_dump): Likewise. 1946da0c48c4Sopenharmony_ci (dump_data_section): Likewise. 1947da0c48c4Sopenharmony_ci (print_string_section): Likewise. 1948da0c48c4Sopenharmony_ci (dump_archive_index): Likewise. 1949da0c48c4Sopenharmony_ci * unstrip.c (adjust_relocs): Likewise. 1950da0c48c4Sopenharmony_ci (collect_symbols): likewise. 1951da0c48c4Sopenharmony_ci (get_section_name): Likewise. 1952da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): Likewise. 1953da0c48c4Sopenharmony_ci (copy_elided_sections): Likewise. 1954da0c48c4Sopenharmony_ci * ldscript.y (add_id_list): Add missing '%s'. 1955da0c48c4Sopenharmony_ci 1956da0c48c4Sopenharmony_ci2015-09-03 Mark Wielaard <mjw@redhat.com> 1957da0c48c4Sopenharmony_ci 1958da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Handle right shift >= 32 bits. 1959da0c48c4Sopenharmony_ci 1960da0c48c4Sopenharmony_ci2015-08-11 Mark Wielaard <mjw@redhat.com> 1961da0c48c4Sopenharmony_ci 1962da0c48c4Sopenharmony_ci * elflint.c (check_sections): When gnuld and a NOBITS section falls 1963da0c48c4Sopenharmony_ci inside a segment make sure any ELF file contents is zero. 1964da0c48c4Sopenharmony_ci 1965da0c48c4Sopenharmony_ci2015-07-29 Mark Wielaard <mjw@redhat.com> 1966da0c48c4Sopenharmony_ci 1967da0c48c4Sopenharmony_ci * unstrip.c (sections_flags_match): New function. 1968da0c48c4Sopenharmony_ci (sections_match): Use sections_flags_match. 1969da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): Only clear matched sections if there 1970da0c48c4Sopenharmony_ci is an undo section. 1971da0c48c4Sopenharmony_ci (copy_elided_sections): Add SHF_INFO_LINK to shdr_mem.sh_flags if 1972da0c48c4Sopenharmony_ci necessary. 1973da0c48c4Sopenharmony_ci 1974da0c48c4Sopenharmony_ci2015-06-27 Pino Toscano <toscano.pino@tiscali.it> 1975da0c48c4Sopenharmony_ci 1976da0c48c4Sopenharmony_ci * src/strings.c: Define MAP_POPULATE if not defined already. 1977da0c48c4Sopenharmony_ci 1978da0c48c4Sopenharmony_ci2015-06-27 Mark Wielaard <mjw@redhat.com> 1979da0c48c4Sopenharmony_ci 1980da0c48c4Sopenharmony_ci * nm.c (show_symbols): First call elf_getdata, then allocate memory. 1981da0c48c4Sopenharmony_ci 1982da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 1983da0c48c4Sopenharmony_ci 1984da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Free segments after use. 1985da0c48c4Sopenharmony_ci 1986da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 1987da0c48c4Sopenharmony_ci 1988da0c48c4Sopenharmony_ci * readelf.c (print_phdr): Make sure phdr2_mem lifetime/scope equals 1989da0c48c4Sopenharmony_ci phdr2 pointer. 1990da0c48c4Sopenharmony_ci 1991da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 1992da0c48c4Sopenharmony_ci 1993da0c48c4Sopenharmony_ci * readelf.c (handle_gnu_hash): Free lengths on invalid_data. 1994da0c48c4Sopenharmony_ci 1995da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 1996da0c48c4Sopenharmony_ci 1997da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Only check the PT_TLS phdr if it actually 1998da0c48c4Sopenharmony_ci exists. Warn otherwise. 1999da0c48c4Sopenharmony_ci 2000da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 2001da0c48c4Sopenharmony_ci 2002da0c48c4Sopenharmony_ci * nm.c (show_symbols): Check sizeof (sym_mem[0]), not GElf_Sym to 2003da0c48c4Sopenharmony_ci known whether or not we stack allocated memory. 2004da0c48c4Sopenharmony_ci 2005da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 2006da0c48c4Sopenharmony_ci 2007da0c48c4Sopenharmony_ci * strings.c (readelf): Use "<unknown>" if we cannot retrieve section 2008da0c48c4Sopenharmony_ci name. 2009da0c48c4Sopenharmony_ci 2010da0c48c4Sopenharmony_ci2015-06-09 Mark Wielaard <mjw@redhat.com> 2011da0c48c4Sopenharmony_ci 2012da0c48c4Sopenharmony_ci * addr2line.c (print_dwarf_function): Always free scopes before 2013da0c48c4Sopenharmony_ci returning. 2014da0c48c4Sopenharmony_ci 2015da0c48c4Sopenharmony_ci2015-06-09 Mark Wielaard <mjw@redhat.com> 2016da0c48c4Sopenharmony_ci 2017da0c48c4Sopenharmony_ci * strip.c (handle_ar): Mark as unused. 2018da0c48c4Sopenharmony_ci (process_file): Produce an error when trying to handle an ar. 2019da0c48c4Sopenharmony_ci 2020da0c48c4Sopenharmony_ci2015-05-30 Mark Wielaard <mjw@redhat.com> 2021da0c48c4Sopenharmony_ci 2022da0c48c4Sopenharmony_ci * elfcmp.c (main): Only call memcmp when d_size != 0. 2023da0c48c4Sopenharmony_ci 2024da0c48c4Sopenharmony_ci2015-05-23 Mark Wielaard <mjw@redhat.com> 2025da0c48c4Sopenharmony_ci 2026da0c48c4Sopenharmony_ci * Makefile.am: Define ldgeneric, readelf, nm, size, strip, elflint, 2027da0c48c4Sopenharmony_ci findtextrel, elfcmp objdump, ranlib, ar and unstrip no_Wstack_usage. 2028da0c48c4Sopenharmony_ci 2029da0c48c4Sopenharmony_ci2015-05-21 Mark Wielaard <mjw@redhat.com> 2030da0c48c4Sopenharmony_ci 2031da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Set scopes to NULL after free. 2032da0c48c4Sopenharmony_ci 2033da0c48c4Sopenharmony_ci2015-05-20 Mark Wielaard <mjw@redhat.com> 2034da0c48c4Sopenharmony_ci 2035da0c48c4Sopenharmony_ci * addr2line.c (OPT_PRETTY): New constant define. 2036da0c48c4Sopenharmony_ci (argp_option): Add "pretty-print". 2037da0c48c4Sopenharmony_ci (pretty): New static bool. 2038da0c48c4Sopenharmony_ci (parse_opt): Set pretty. 2039da0c48c4Sopenharmony_ci (print_dwarf_function): Adjust output when pretty is set. 2040da0c48c4Sopenharmony_ci (print_addrsym): Likewise. 2041da0c48c4Sopenharmony_ci (handle_address): Likewise. 2042da0c48c4Sopenharmony_ci 2043da0c48c4Sopenharmony_ci2015-05-20 Mark Wielaard <mjw@redhat.com> 2044da0c48c4Sopenharmony_ci 2045da0c48c4Sopenharmony_ci * Makefile.am (addr2line_LDADD): Add demanglelib. 2046da0c48c4Sopenharmony_ci * addr2line.c (argp_option): Move demangle under output format. 2047da0c48c4Sopenharmony_ci (demangle): New static bool. 2048da0c48c4Sopenharmony_ci (demangle_buffer_len): New static size_t. 2049da0c48c4Sopenharmony_ci (demangle_buffer): New static char *. 2050da0c48c4Sopenharmony_ci (main): free demangle_buffer. 2051da0c48c4Sopenharmony_ci (parse_opt): Set demangle. 2052da0c48c4Sopenharmony_ci (symname): New static function. 2053da0c48c4Sopenharmony_ci (get_diename): Use symname. 2054da0c48c4Sopenharmony_ci (print_dwarf_function): Likewise. 2055da0c48c4Sopenharmony_ci (print_addrsym): Likewise. 2056da0c48c4Sopenharmony_ci (handle_address): Likewise. 2057da0c48c4Sopenharmony_ci 2058da0c48c4Sopenharmony_ci2015-05-20 Mark Wielaard <mjw@redhat.com> 2059da0c48c4Sopenharmony_ci 2060da0c48c4Sopenharmony_ci * addr2line.c (argp_option): Add "addresses", 'a'. 2061da0c48c4Sopenharmony_ci (print_addresses): New static bool. 2062da0c48c4Sopenharmony_ci (parse_opt): Set print_addresses. 2063da0c48c4Sopenharmony_ci (get_addr_width): New static function. 2064da0c48c4Sopenharmony_ci (handle_address): Print address if print_addresses is true. 2065da0c48c4Sopenharmony_ci 2066da0c48c4Sopenharmony_ci2015-05-20 Mark Wielaard <mjw@redhat.com> 2067da0c48c4Sopenharmony_ci 2068da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Call strtoumax with base 16. Make 2069da0c48c4Sopenharmony_ci sure all input has been processed. 2070da0c48c4Sopenharmony_ci 2071da0c48c4Sopenharmony_ci2015-05-20 Mark Wielaard <mjw@redhat.com> 2072da0c48c4Sopenharmony_ci 2073da0c48c4Sopenharmony_ci * addr2line (argp_option): Group 'section' under "Input format 2074da0c48c4Sopenharmony_ci options". 2075da0c48c4Sopenharmony_ci 2076da0c48c4Sopenharmony_ci2015-05-12 Mark Wielaard <mjw@redhat.com> 2077da0c48c4Sopenharmony_ci 2078da0c48c4Sopenharmony_ci * strip.c (debug_fd): New static variable. 2079da0c48c4Sopenharmony_ci (tmp_debug_fname): Likewise. 2080da0c48c4Sopenharmony_ci (cleanup_debug): New function using the above to clean up temporary 2081da0c48c4Sopenharmony_ci debug file. 2082da0c48c4Sopenharmony_ci (INTERNAL_ERROR): Call cleanup_debug. 2083da0c48c4Sopenharmony_ci (handle_elf): Use debug_fd and tmp_debug_fname statics and call 2084da0c48c4Sopenharmony_ci cleanup_debug before any error. Use output_fname instead of fname in 2085da0c48c4Sopenharmony_ci error messages when it exists (-o was given). SHT_NOBITS sections 2086da0c48c4Sopenharmony_ci can also be moved freely even if SHF_ALLOC is set. Add various 2087da0c48c4Sopenharmony_ci sanity checks. Use elf_assert instead of plain assert. 2088da0c48c4Sopenharmony_ci 2089da0c48c4Sopenharmony_ci2015-05-08 Mark Wielaard <mjw@redhat.com> 2090da0c48c4Sopenharmony_ci 2091da0c48c4Sopenharmony_ci * nm.c (show_symbols): Call gelf_fsize with EV_CURRENT. 2092da0c48c4Sopenharmony_ci * strip.c (handle_elf): Likewise. 2093da0c48c4Sopenharmony_ci 2094da0c48c4Sopenharmony_ci2015-05-06 Mark Wielaard <mjw@redhat.com> 2095da0c48c4Sopenharmony_ci 2096da0c48c4Sopenharmony_ci * elflint.c (check_gnu_hash): Return early when 2nd hash function 2097da0c48c4Sopenharmony_ci shift too big. Check there is enough data available. Make sure 2098da0c48c4Sopenharmony_ci bitmask_words is not zero. 2099da0c48c4Sopenharmony_ci (check_verdef): Use Elf64_Word for shdr->sh_info cnt. 2100da0c48c4Sopenharmony_ci (check_verneed): Likewise. 2101da0c48c4Sopenharmony_ci (check_attributes): Break when vendor name isn't terminated. 2102da0c48c4Sopenharmony_ci Add overflow check for subsection_len. 2103da0c48c4Sopenharmony_ci 2104da0c48c4Sopenharmony_ci2015-05-05 Mark Wielaard <mjw@redhat.com> 2105da0c48c4Sopenharmony_ci 2106da0c48c4Sopenharmony_ci * nm.c (show_symbols): Handle dwarf_linesrc returning NULL. 2107da0c48c4Sopenharmony_ci 2108da0c48c4Sopenharmony_ci2015-05-04 Max Filippov <jcmvbkbc@gmail.com> 2109da0c48c4Sopenharmony_ci 2110da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Replace struct timeval with struct timespec 2111da0c48c4Sopenharmony_ci and futimes with futimens. 2112da0c48c4Sopenharmony_ci * strip.c (process_file): Replace struct timeval with struct timespec. 2113da0c48c4Sopenharmony_ci (handle_elf, handle_ar): Replace struct timeval with struct timespec 2114da0c48c4Sopenharmony_ci in prototype. Replace futimes with futimens. 2115da0c48c4Sopenharmony_ci 2116da0c48c4Sopenharmony_ci2015-05-04 Max Filippov <jcmvbkbc@gmail.com> 2117da0c48c4Sopenharmony_ci 2118da0c48c4Sopenharmony_ci * addr2line.c (main): Drop mtrace() call and #include <mcheck.h>. 2119da0c48c4Sopenharmony_ci * ar.c: Likewise. 2120da0c48c4Sopenharmony_ci * ld.c: Likewise. 2121da0c48c4Sopenharmony_ci * nm.c: Likewise. 2122da0c48c4Sopenharmony_ci * objdump.c: Likewise. 2123da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 2124da0c48c4Sopenharmony_ci * size.c: Likewise. 2125da0c48c4Sopenharmony_ci * strip.c: Likewise. 2126da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 2127da0c48c4Sopenharmony_ci 2128da0c48c4Sopenharmony_ci2015-05-04 Anthony G. Basile <blueness@gentoo.org> 2129da0c48c4Sopenharmony_ci 2130da0c48c4Sopenharmony_ci * Makefile.am (readelf_LDADD, nm_LDADD, size_LDADD, strip_LDADD) 2131da0c48c4Sopenharmony_ci (ld_LDADD, elflint_LDADD, findtextrel_LDADD, addr2line_LDADD) 2132da0c48c4Sopenharmony_ci (elfcmp_LDADD, objdump_LDADD, ranlib_LDADD, strings_LDADD) 2133da0c48c4Sopenharmony_ci (ar_LDADD, unstrip_LDADD, stack_LDADD): Append $(argp_LDADD). 2134da0c48c4Sopenharmony_ci 2135da0c48c4Sopenharmony_ci2015-03-22 Mark Wielaard <mjw@redhat.com> 2136da0c48c4Sopenharmony_ci 2137da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Cast start to Dwarf_Off 2138da0c48c4Sopenharmony_ci before subtracting cie_id. And cast cie_offset to Dwarf_Off before 2139da0c48c4Sopenharmony_ci comparison. 2140da0c48c4Sopenharmony_ci 2141da0c48c4Sopenharmony_ci2015-03-22 Mark Wielaard <mjw@redhat.com> 2142da0c48c4Sopenharmony_ci 2143da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Check all offsets used 2144da0c48c4Sopenharmony_ci against section d_size. 2145da0c48c4Sopenharmony_ci 2146da0c48c4Sopenharmony_ci2015-03-17 Mark Wielaard <mjw@redhat.com> 2147da0c48c4Sopenharmony_ci 2148da0c48c4Sopenharmony_ci * readelf.c (print_debug): Don't return, but always use dummy_dbg. 2149da0c48c4Sopenharmony_ci 2150da0c48c4Sopenharmony_ci2015-03-17 Mark Wielaard <mjw@redhat.com> 2151da0c48c4Sopenharmony_ci 2152da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Add overflow checking for 2153da0c48c4Sopenharmony_ci dataend checks. 2154da0c48c4Sopenharmony_ci 2155da0c48c4Sopenharmony_ci2015-03-14 Mark Wielaard <mjw@redhat.com> 2156da0c48c4Sopenharmony_ci 2157da0c48c4Sopenharmony_ci * nm.c (INTERNAL_ERROR): Remove __DATE__. 2158da0c48c4Sopenharmony_ci * objdump.c (INTERNAL_ERROR): Likewise. 2159da0c48c4Sopenharmony_ci * size.c (INTERNAL_ERROR): Likewise. 2160da0c48c4Sopenharmony_ci * strip.c (INTERNAL_ERROR): Likewise. 2161da0c48c4Sopenharmony_ci 2162da0c48c4Sopenharmony_ci2015-03-18 Petr Machata <pmachata@redhat.com> 2163da0c48c4Sopenharmony_ci 2164da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string, dwarf_attr_string) 2165da0c48c4Sopenharmony_ci (dwarf_form_string, dwarf_lang_string, dwarf_inline_string) 2166da0c48c4Sopenharmony_ci (dwarf_encoding_string, dwarf_access_string) 2167da0c48c4Sopenharmony_ci (dwarf_visibility_string, dwarf_virtuality_string) 2168da0c48c4Sopenharmony_ci (dwarf_identifier_case_string, dwarf_calling_convention_string) 2169da0c48c4Sopenharmony_ci (dwarf_ordering_string, dwarf_discr_list_string) 2170da0c48c4Sopenharmony_ci (dwarf_locexpr_opcode_string): Adjust uses of know-dwarf.h macros 2171da0c48c4Sopenharmony_ci to match the API changes. 2172da0c48c4Sopenharmony_ci 2173da0c48c4Sopenharmony_ci2015-03-09 Mark Wielaard <mjw@redhat.com> 2174da0c48c4Sopenharmony_ci 2175da0c48c4Sopenharmony_ci * elflint.c (compare_hash_gnu_hash): Correct gnu_symbias usage. 2176da0c48c4Sopenharmony_ci 2177da0c48c4Sopenharmony_ci2015-01-03 Mark Wielaard <mjw@redhat.com> 2178da0c48c4Sopenharmony_ci 2179da0c48c4Sopenharmony_ci * elfcmp (main): Check section name is not NULL. Check sh_entsize 2180da0c48c4Sopenharmony_ci is not zero for symbol tables. Check phdrs are not NULL. 2181da0c48c4Sopenharmony_ci (search_for_copy_reloc): Check sh_entsize is not zero. 2182da0c48c4Sopenharmony_ci 2183da0c48c4Sopenharmony_ci2014-12-30 Mark Wielaard <mjw@redhat.com> 2184da0c48c4Sopenharmony_ci 2185da0c48c4Sopenharmony_ci * elflint.c (check_scn_group): Check d_buf and name are not NULL. 2186da0c48c4Sopenharmony_ci (is_rel_dyn): Check d is not NULL. Check shdr->sh_entsize is not 2187da0c48c4Sopenharmony_ci zero. 2188da0c48c4Sopenharmony_ci (check_dynamic): Check strshdr is not NULL. Check d_tag is positive. 2189da0c48c4Sopenharmony_ci (check_symtab_shndx): Check symshdr and data->d_buf are not NULL. 2190da0c48c4Sopenharmony_ci Check shdr and symshdr sh_entsize are not zero. 2191da0c48c4Sopenharmony_ci (check_gnu_hash): Make sure maskidx is smaller than bitmask_words. 2192da0c48c4Sopenharmony_ci Check symshdr->sh_entsize is not zero. Check data->d_buf is not 2193da0c48c4Sopenharmony_ci NULL. 2194da0c48c4Sopenharmony_ci (compare_hash_gnu_hash): Check sections d_buf are not NULL. 2195da0c48c4Sopenharmony_ci Check section data is large enough. Use gnu_symbias. 2196da0c48c4Sopenharmony_ci (check_group): Check section val is valid. 2197da0c48c4Sopenharmony_ci (has_copy_reloc): Check sh_entsize is not zero. 2198da0c48c4Sopenharmony_ci (check_versym): Likewise. 2199da0c48c4Sopenharmony_ci (unknown_dependency_p): Likewise. 2200da0c48c4Sopenharmony_ci (check_verneed): Break on invalid ref or offset. Don't assert. 2201da0c48c4Sopenharmony_ci Report error when next offset is zero, but more vers expected. 2202da0c48c4Sopenharmony_ci (check_verdef): Likewise. 2203da0c48c4Sopenharmony_ci (check_attributes): Make sure d_buf is not NULL. 2204da0c48c4Sopenharmony_ci (check_note): Likewise. 2205da0c48c4Sopenharmony_ci (check_note_section): Likewise. 2206da0c48c4Sopenharmony_ci (check_program_header): Make sure section name is not NULL. 2207da0c48c4Sopenharmony_ci 2208da0c48c4Sopenharmony_ci2014-12-26 Mark Wielaard <mjw@redhat.com> 2209da0c48c4Sopenharmony_ci 2210da0c48c4Sopenharmony_ci * strings.c (read_elf): Produce error when section data falls outside 2211da0c48c4Sopenharmony_ci file. 2212da0c48c4Sopenharmony_ci 2213da0c48c4Sopenharmony_ci2014-12-26 Mark Wielaard <mjw@redhat.com> 2214da0c48c4Sopenharmony_ci 2215da0c48c4Sopenharmony_ci * nm.c (show_symbols): Guard against divide by zero in error check. 2216da0c48c4Sopenharmony_ci Add section index number in error message. 2217da0c48c4Sopenharmony_ci 2218da0c48c4Sopenharmony_ci2014-12-26 Mark Wielaard <mjw@redhat.com> 2219da0c48c4Sopenharmony_ci 2220da0c48c4Sopenharmony_ci * nm.c (handle_ar): Skip over /SYM64/ entries. 2221da0c48c4Sopenharmony_ci 2222da0c48c4Sopenharmony_ci2014-12-26 Mark Wielaard <mjw@redhat.com> 2223da0c48c4Sopenharmony_ci 2224da0c48c4Sopenharmony_ci * nm.c (handle_ar): Break on arsym with invalid offset. 2225da0c48c4Sopenharmony_ci 2226da0c48c4Sopenharmony_ci2014-12-20 Mark Wielaard <mjw@redhat.com> 2227da0c48c4Sopenharmony_ci 2228da0c48c4Sopenharmony_ci * readelf.c (print_debug_macinfo_section): Mark cus sentinel files 2229da0c48c4Sopenharmony_ci as -1 non-existent. Check macoff against sentinel cus. 2230da0c48c4Sopenharmony_ci 2231da0c48c4Sopenharmony_ci2014-12-20 Mark Wielaard <mjw@redhat.com> 2232da0c48c4Sopenharmony_ci 2233da0c48c4Sopenharmony_ci * readelf.c (print_debug_exception_table): Add max_action overflow 2234da0c48c4Sopenharmony_ci check. Check action_table_end before reading slib128. Check 2235da0c48c4Sopenharmony_ci max_ar_filter underflow. 2236da0c48c4Sopenharmony_ci 2237da0c48c4Sopenharmony_ci2014-12-18 Ulrich Drepper <drepper@gmail.com> 2238da0c48c4Sopenharmony_ci 2239da0c48c4Sopenharmony_ci * Makefile.am: Suppress output of textrel_check command. 2240da0c48c4Sopenharmony_ci 2241da0c48c4Sopenharmony_ci2014-12-17 Mark Wielaard <mjw@redhat.com> 2242da0c48c4Sopenharmony_ci 2243da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Add bounds check before each op that 2244da0c48c4Sopenharmony_ci takes at least one argument. 2245da0c48c4Sopenharmony_ci 2246da0c48c4Sopenharmony_ci2014-12-16 Mark Wielaard <mjw@redhat.com> 2247da0c48c4Sopenharmony_ci 2248da0c48c4Sopenharmony_ci * readelf.c (print_decoded_line_section): Print dwarf_errmsg if 2249da0c48c4Sopenharmony_ci dwarf_onesrcline or dwarf_linesrc fails. 2250da0c48c4Sopenharmony_ci 2251da0c48c4Sopenharmony_ci2014-12-16 Mark Wielaard <mjw@redhat.com> 2252da0c48c4Sopenharmony_ci 2253da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Correct overflow check for 2254da0c48c4Sopenharmony_ci unit_length. 2255da0c48c4Sopenharmony_ci (print_debug_aranges_section): Correct overflow check for length. 2256da0c48c4Sopenharmony_ci 2257da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 2258da0c48c4Sopenharmony_ci 2259da0c48c4Sopenharmony_ci * readelf.c (notice_listptr): Return false if offset doesn't fit 2260da0c48c4Sopenharmony_ci in 61-bits. 2261da0c48c4Sopenharmony_ci (attr_callback): Warn if loclist or rangelist offset doesn't fit. 2262da0c48c4Sopenharmony_ci 2263da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 2264da0c48c4Sopenharmony_ci 2265da0c48c4Sopenharmony_ci * readelf.c (print_ops): Don't assert when addr_size or ref_size 2266da0c48c4Sopenharmony_ci is not 4 or 8, just report invalid data. 2267da0c48c4Sopenharmony_ci 2268da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 2269da0c48c4Sopenharmony_ci 2270da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Add more bounds checks. 2271da0c48c4Sopenharmony_ci 2272da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 2273da0c48c4Sopenharmony_ci 2274da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Check there is enough room 2275da0c48c4Sopenharmony_ci for DW_LNE_set_address argument. Make sure there is enough room 2276da0c48c4Sopenharmony_ci for the the initial unit_length. 2277da0c48c4Sopenharmony_ci 2278da0c48c4Sopenharmony_ci2014-12-14 Mark Wielaard <mjw@redhat.com> 2279da0c48c4Sopenharmony_ci 2280da0c48c4Sopenharmony_ci * elflint.c (check_attributes): Call get_uleb128 with end pointer. 2281da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Likewise. 2282da0c48c4Sopenharmony_ci (print_ops): Likewise and also for get_sleb128. 2283da0c48c4Sopenharmony_ci (print_cfa_program): Likewise and add more readp bounds checks. 2284da0c48c4Sopenharmony_ci (read_encoded): Likewise. 2285da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 2286da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 2287da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 2288da0c48c4Sopenharmony_ci (print_debug_macro_section): Likewise. 2289da0c48c4Sopenharmony_ci (print_debug_exception_table): Likewise. 2290da0c48c4Sopenharmony_ci 2291da0c48c4Sopenharmony_ci2014-12-16 Mark Wielaard <mjw@redhat.com> 2292da0c48c4Sopenharmony_ci 2293da0c48c4Sopenharmony_ci * elfcmp.c (compare_Elf32_Word): Make sure (unsigned) Elf32_Word 2294da0c48c4Sopenharmony_ci difference doesn't wrap around before returning as int. 2295da0c48c4Sopenharmony_ci 2296da0c48c4Sopenharmony_ci2014-12-11 Mark Wielaard <mjw@redhat.com> 2297da0c48c4Sopenharmony_ci 2298da0c48c4Sopenharmony_ci * readelf.c (print_debug_exception_table): Check TType base offset 2299da0c48c4Sopenharmony_ci and Action table are sane. 2300da0c48c4Sopenharmony_ci 2301da0c48c4Sopenharmony_ci2014-12-11 Mark Wielaard <mjw@redhat.com> 2302da0c48c4Sopenharmony_ci 2303da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Check number of augmentation 2304da0c48c4Sopenharmony_ci chars to print. 2305da0c48c4Sopenharmony_ci 2306da0c48c4Sopenharmony_ci2014-12-09 Mark Wielaard <mjw@redhat.com> 2307da0c48c4Sopenharmony_ci 2308da0c48c4Sopenharmony_ci * readelf.c (handle_file_note): Check count fits data section and 2309da0c48c4Sopenharmony_ci doesn't overflow fptr. 2310da0c48c4Sopenharmony_ci 2311da0c48c4Sopenharmony_ci2014-12-08 Mark Wielaard <mjw@redhat.com> 2312da0c48c4Sopenharmony_ci 2313da0c48c4Sopenharmony_ci * readelf.c (print_debug_exception_table): Report invalid data if 2314da0c48c4Sopenharmony_ci action table doesn't immediately follow call site table. 2315da0c48c4Sopenharmony_ci 2316da0c48c4Sopenharmony_ci2014-12-10 Josh Stone <jistone@redhat.com> 2317da0c48c4Sopenharmony_ci 2318da0c48c4Sopenharmony_ci * addr2line.c (get_diename): New, get linkage_name or name. 2319da0c48c4Sopenharmony_ci * addr2line.c (print_dwarf_function): Use get_diename. 2320da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Likewise. 2321da0c48c4Sopenharmony_ci * addr2line.c (print_diesym): Removed. 2322da0c48c4Sopenharmony_ci 2323da0c48c4Sopenharmony_ci2014-12-10 Josh Stone <jistone@redhat.com> 2324da0c48c4Sopenharmony_ci 2325da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Find the proper inline parents. 2326da0c48c4Sopenharmony_ci 2327da0c48c4Sopenharmony_ci2014-12-07 Mark Wielaard <mjw@redhat.com> 2328da0c48c4Sopenharmony_ci 2329da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): max_ops_per_instr cannot 2330da0c48c4Sopenharmony_ci be zero. 2331da0c48c4Sopenharmony_ci 2332da0c48c4Sopenharmony_ci2014-12-07 Mark Wielaard <mjw@redhat.com> 2333da0c48c4Sopenharmony_ci 2334da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle zero ref_size for DW_OP_call_ref 2335da0c48c4Sopenharmony_ci and DW_OP_GNU_implicit_pointer. 2336da0c48c4Sopenharmony_ci 2337da0c48c4Sopenharmony_ci2014-12-04 Mark Wielaard <mjw@redhat.com> 2338da0c48c4Sopenharmony_ci 2339da0c48c4Sopenharmony_ci * objdump.c (show_relocs_x): Make sure destshdr exists. 2340da0c48c4Sopenharmony_ci (show_relocs_rel): Don't rely on shdr->sh_entsize, use gelf_fsize. 2341da0c48c4Sopenharmony_ci (show_relocs_rela): Likewise. 2342da0c48c4Sopenharmony_ci (show_relocs): Make sure destshdr, symshdr and symdata exists. 2343da0c48c4Sopenharmony_ci 2344da0c48c4Sopenharmony_ci2014-11-30 Mark Wielaard <mjw@redhat.com> 2345da0c48c4Sopenharmony_ci 2346da0c48c4Sopenharmony_ci * readelf.c (handle_sysv_hash64): Fix overflow check. 2347da0c48c4Sopenharmony_ci 2348da0c48c4Sopenharmony_ci2014-11-28 Mark Wielaard <mjw@redhat.com> 2349da0c48c4Sopenharmony_ci 2350da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rel): Don't reuse destshdr to store 2351da0c48c4Sopenharmony_ci section header of a relocation against a STT_SECTION symbol. Use 2352da0c48c4Sopenharmony_ci a new local variable secshdr. 2353da0c48c4Sopenharmony_ci (handle_relocs_rela): Likewise. 2354da0c48c4Sopenharmony_ci 2355da0c48c4Sopenharmony_ci2014-11-26 Mark Wielaard <mjw@redhat.com> 2356da0c48c4Sopenharmony_ci 2357da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges_section): Cast Dwarf_Word length 2358da0c48c4Sopenharmony_ci to ptrdiff_t for comparison. 2359da0c48c4Sopenharmony_ci 2360da0c48c4Sopenharmony_ci2014-11-24 Mark Wielaard <mjw@redhat.com> 2361da0c48c4Sopenharmony_ci 2362da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Check line_range is not zero 2363da0c48c4Sopenharmony_ci before usage. 2364da0c48c4Sopenharmony_ci 2365da0c48c4Sopenharmony_ci2014-11-23 Mark Wielaard <mjw@redhat.com> 2366da0c48c4Sopenharmony_ci 2367da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges_section): Check length to catch 2368da0c48c4Sopenharmony_ci nexthdr overflow. 2369da0c48c4Sopenharmony_ci 2370da0c48c4Sopenharmony_ci2014-11-21 Mark Wielaard <mjw@redhat.com> 2371da0c48c4Sopenharmony_ci 2372da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Guard against empty section. 2373da0c48c4Sopenharmony_ci Document attribute format. Break when vendor name isn't terminated. 2374da0c48c4Sopenharmony_ci Add overflow check for subsection_len. Handle both gnu and non-gnu 2375da0c48c4Sopenharmony_ci attribute tags. 2376da0c48c4Sopenharmony_ci 2377da0c48c4Sopenharmony_ci2014-11-22 Mark Wielaard <mjw@redhat.com> 2378da0c48c4Sopenharmony_ci 2379da0c48c4Sopenharmony_ci * elflint.c (check_sections): Call ebl_bss_plt_p without ehdr. 2380da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Use elf_getphdrnum. 2381da0c48c4Sopenharmony_ci * readelf.c (process_elf_file): Remove redundant ehdr->e_phoff check. 2382da0c48c4Sopenharmony_ci (print_phdr): Check phnum. 2383da0c48c4Sopenharmony_ci * size.c (show_segments): Use elf_getphdrnum. 2384da0c48c4Sopenharmony_ci * strip.c (handle_elf): Likewise. 2385da0c48c4Sopenharmony_ci * unstrip.c (copy_elf): Likewise. 2386da0c48c4Sopenharmony_ci (copy_elided_sections): Likewise. 2387da0c48c4Sopenharmony_ci (handle_file): Likewise. 2388da0c48c4Sopenharmony_ci 2389da0c48c4Sopenharmony_ci2014-11-18 Mark Wielaard <mjw@redhat.com> 2390da0c48c4Sopenharmony_ci 2391da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Fix sanity check of DW_FORM_block 2392da0c48c4Sopenharmony_ci length. 2393da0c48c4Sopenharmony_ci 2394da0c48c4Sopenharmony_ci2014-11-17 Mark Wielaard <mjw@redhat.com> 2395da0c48c4Sopenharmony_ci 2396da0c48c4Sopenharmony_ci * readelf.c (handle_verneed): Check vna_next and vn_next exist. 2397da0c48c4Sopenharmony_ci (handle_verdef): Check vda_next and vd_next exist. 2398da0c48c4Sopenharmony_ci (handle_versym): Check vd_next, vna_next and vn_next exist. 2399da0c48c4Sopenharmony_ci Check vername and filename are not NULL before use. 2400da0c48c4Sopenharmony_ci 2401da0c48c4Sopenharmony_ci2014-11-17 Mark Wielaard <mjw@redhat.com> 2402da0c48c4Sopenharmony_ci 2403da0c48c4Sopenharmony_ci * elfcmp.c (main): Check section names are NULL before use. 2404da0c48c4Sopenharmony_ci * objdump.c (section_match): Likewise. 2405da0c48c4Sopenharmony_ci * size.c (show_sysv): Likewise. 2406da0c48c4Sopenharmony_ci 2407da0c48c4Sopenharmony_ci2014-11-17 Mark Wielaard <mjw@redhat.com> 2408da0c48c4Sopenharmony_ci 2409da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Warn if ptr_size is not 4 2410da0c48c4Sopenharmony_ci or 8 instead of just calling print_cfa_program. 2411da0c48c4Sopenharmony_ci 2412da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 2413da0c48c4Sopenharmony_ci 2414da0c48c4Sopenharmony_ci * readelf (process_elf_file): Set phnum to zero if there aren't 2415da0c48c4Sopenharmony_ci actually any pheaders. 2416da0c48c4Sopenharmony_ci (print_phdr): Check there actually is a phdr. 2417da0c48c4Sopenharmony_ci 2418da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 2419da0c48c4Sopenharmony_ci 2420da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Check block len before calling 2421da0c48c4Sopenharmony_ci print_ops. 2422da0c48c4Sopenharmony_ci 2423da0c48c4Sopenharmony_ci2014-11-14 Mark Wielaard <mjw@redhat.com> 2424da0c48c4Sopenharmony_ci 2425da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Sanity Check CIE 2426da0c48c4Sopenharmony_ci unit_length and augmentationlen. 2427da0c48c4Sopenharmony_ci 2428da0c48c4Sopenharmony_ci2014-11-14 Mark Wielaard <mjw@redhat.com> 2429da0c48c4Sopenharmony_ci 2430da0c48c4Sopenharmony_ci * readelf.c (handle_versym): Check def == NULL before use. 2431da0c48c4Sopenharmony_ci 2432da0c48c4Sopenharmony_ci2014-11-08 Mark Wielaard <mjw@redhat.com> 2433da0c48c4Sopenharmony_ci 2434da0c48c4Sopenharmony_ci * readelf.c (handle_versym): Initialize vername and filename array 2435da0c48c4Sopenharmony_ci elements. 2436da0c48c4Sopenharmony_ci 2437da0c48c4Sopenharmony_ci2014-11-07 Mark Wielaard <mjw@redhat.com> 2438da0c48c4Sopenharmony_ci 2439da0c48c4Sopenharmony_ci * readelf.c (handle_sysv_hash): Sanity check section contents. 2440da0c48c4Sopenharmony_ci (handle_sysv_hash64): Likewise. 2441da0c48c4Sopenharmony_ci (handle_gnu_hash): Likewise. 2442da0c48c4Sopenharmony_ci 2443da0c48c4Sopenharmony_ci2014-09-14 Petr Machata <pmachata@redhat.com> 2444da0c48c4Sopenharmony_ci 2445da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rela): Typo fix, test DESTSHDR properly. 2446da0c48c4Sopenharmony_ci 2447da0c48c4Sopenharmony_ci2014-09-12 Petr Machata <pmachata@redhat.com> 2448da0c48c4Sopenharmony_ci 2449da0c48c4Sopenharmony_ci * readelf.c (encoded_ptr_size): In the switch statement, change 2450da0c48c4Sopenharmony_ci magic constants 3 and 4 to DW_EH_PE_* counterparts. Still accept 2451da0c48c4Sopenharmony_ci 0. Print diagnostic for anything else. 2452da0c48c4Sopenharmony_ci 2453da0c48c4Sopenharmony_ci2014-08-25 Josh Stone <jistone@redhat.com> 2454da0c48c4Sopenharmony_ci 2455da0c48c4Sopenharmony_ci * Makefile.am: Prevent premature @AR@ replacement in a sed expression. 2456da0c48c4Sopenharmony_ci 2457da0c48c4Sopenharmony_ci2014-07-04 Menanteau Guy <menantea@linux.vnet.ibm.com> 2458da0c48c4Sopenharmony_ci Mark Wielaard <mjw@redhat.com> 2459da0c48c4Sopenharmony_ci 2460da0c48c4Sopenharmony_ci * elflint (check_symtab): Add ".TOC." to the list of possibly 2461da0c48c4Sopenharmony_ci dangling symbols because of sourceware PR13621. 2462da0c48c4Sopenharmony_ci 2463da0c48c4Sopenharmony_ci2014-06-14 Mark Wielaard <mjw@redhat.com> 2464da0c48c4Sopenharmony_ci 2465da0c48c4Sopenharmony_ci * elflint (check_symtab): Use ebl_func_addr_mask on st_value. 2466da0c48c4Sopenharmony_ci 2467da0c48c4Sopenharmony_ci2014-05-27 Mark Wielaard <mjw@redhat.com> 2468da0c48c4Sopenharmony_ci 2469da0c48c4Sopenharmony_ci * readelf.c (print_debug): Skip section if name is NULL. 2470da0c48c4Sopenharmony_ci 2471da0c48c4Sopenharmony_ci2014-05-26 Mark Wielaard <mjw@redhat.com> 2472da0c48c4Sopenharmony_ci 2473da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rela): Print header like handle_relocs_rel 2474da0c48c4Sopenharmony_ci does, when sh_info == 0. 2475da0c48c4Sopenharmony_ci 2476da0c48c4Sopenharmony_ci2014-05-26 Mark Wielaard <mjw@redhat.com> 2477da0c48c4Sopenharmony_ci 2478da0c48c4Sopenharmony_ci * unstrip.c (find_alloc_sections_prelink): Allow non-split .bss 2479da0c48c4Sopenharmony_ci section when sh_size of the original and undo .bss section are equal. 2480da0c48c4Sopenharmony_ci 2481da0c48c4Sopenharmony_ci2014-05-26 Mark Wielaard <mjw@redhat.com> 2482da0c48c4Sopenharmony_ci 2483da0c48c4Sopenharmony_ci * unstrip.c (options): Add --force, -F. 2484da0c48c4Sopenharmony_ci (struct arg_info): Add bool force. 2485da0c48c4Sopenharmony_ci (parse_opt): Handle 'F', set force. 2486da0c48c4Sopenharmony_ci (handle_explicit_files): Add force argument, add warn function, 2487da0c48c4Sopenharmony_ci separate check ehdr field checks, use warn. 2488da0c48c4Sopenharmony_ci (handle_dwfl_module): Add force argument, pass on to 2489da0c48c4Sopenharmony_ci handle_explicit_files. 2490da0c48c4Sopenharmony_ci (handle_output_dir_module): Add force argument, pass on to 2491da0c48c4Sopenharmony_ci handle_dwfl_module. 2492da0c48c4Sopenharmony_ci (handle_implicit_modules): Pass info->force to handle_dwfl_module and 2493da0c48c4Sopenharmony_ci handle_output_dir_module. 2494da0c48c4Sopenharmony_ci (main): Pass info.force to handle_explicit_files. 2495da0c48c4Sopenharmony_ci 2496da0c48c4Sopenharmony_ci2014-05-19 Mark Wielaard <mjw@redhat.com> 2497da0c48c4Sopenharmony_ci 2498da0c48c4Sopenharmony_ci * elflint.c (check_reloc_shdr): Check ebl_check_reloc_target_type. 2499da0c48c4Sopenharmony_ci 2500da0c48c4Sopenharmony_ci2014-05-01 Mark Wielaard <mjw@redhat.com> 2501da0c48c4Sopenharmony_ci 2502da0c48c4Sopenharmony_ci * readelf.c (find_no_debuginfo): Call dwfl_standard_find_debuginfo 2503da0c48c4Sopenharmony_ci if looking for alternate debug file. 2504da0c48c4Sopenharmony_ci 2505da0c48c4Sopenharmony_ci2014-04-11 Mark Wielaard <mjw@redhat.com> 2506da0c48c4Sopenharmony_ci 2507da0c48c4Sopenharmony_ci * Makefile.am (AM_CPPFLAGS): Add -I libdwelf. 2508da0c48c4Sopenharmony_ci 2509da0c48c4Sopenharmony_ci2014-04-22 Mark Wielaard <mjw@redhat.com> 2510da0c48c4Sopenharmony_ci 2511da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Make sure variable length array 2512da0c48c4Sopenharmony_ci contains at least enough space for terminating zero char. 2513da0c48c4Sopenharmony_ci 2514da0c48c4Sopenharmony_ci2014-04-22 Mark Wielaard <mjw@redhat.com> 2515da0c48c4Sopenharmony_ci 2516da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Use unsigned int for 31 bits 2517da0c48c4Sopenharmony_ci left shift. 2518da0c48c4Sopenharmony_ci 2519da0c48c4Sopenharmony_ci2014-03-13 Mark Wielaard <mjw@redhat.com> 2520da0c48c4Sopenharmony_ci 2521da0c48c4Sopenharmony_ci * Makefile.am: Remove no_mudflap.os. Remove libmudflap from all 2522da0c48c4Sopenharmony_ci LDADD lines. 2523da0c48c4Sopenharmony_ci * strings.c (process_chunk): Remove _MUDFLAP condition. 2524da0c48c4Sopenharmony_ci 2525da0c48c4Sopenharmony_ci2014-04-09 Mark Wielaard <mjw@redhat.com> 2526da0c48c4Sopenharmony_ci 2527da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges_section): Don't get the raw section 2528da0c48c4Sopenharmony_ci data, use the possibly decompressed .[z]debug sectiondata. 2529da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 2530da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 2531da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 2532da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 2533da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 2534da0c48c4Sopenharmony_ci (print_debug_macro_section): Likewise. 2535da0c48c4Sopenharmony_ci 2536da0c48c4Sopenharmony_ci2014-04-10 Mark Wielaard <mjw@redhat.com> 2537da0c48c4Sopenharmony_ci 2538da0c48c4Sopenharmony_ci * readelf.c (buf_read_ulong): Pass actual long size to convert. 2539da0c48c4Sopenharmony_ci 2540da0c48c4Sopenharmony_ci2014-03-05 Mark Wielaard <mjw@redhat.com> 2541da0c48c4Sopenharmony_ci 2542da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Print DW_FORM_sdata values as signed 2543da0c48c4Sopenharmony_ci numbers. 2544da0c48c4Sopenharmony_ci 2545da0c48c4Sopenharmony_ci2014-02-24 Mark Wielaard <mjw@redhat.com> 2546da0c48c4Sopenharmony_ci 2547da0c48c4Sopenharmony_ci * readelf (print_phdr): Check there is a SHT_PROGBITS section at the 2548da0c48c4Sopenharmony_ci offset given by p_offsets for a PT_INTERP segment before trying to 2549da0c48c4Sopenharmony_ci display the interpreter string. 2550da0c48c4Sopenharmony_ci 2551da0c48c4Sopenharmony_ci2014-02-07 Mark Wielaard <mjw@redhat.com> 2552da0c48c4Sopenharmony_ci 2553da0c48c4Sopenharmony_ci * readelf.c (print_phdr): Check phdr->p_filesz and make sure 2554da0c48c4Sopenharmony_ci interpreter string is zero terminated before calling printf. 2555da0c48c4Sopenharmony_ci 2556da0c48c4Sopenharmony_ci2014-01-22 Mark Wielaard <mjw@redhat.com> 2557da0c48c4Sopenharmony_ci 2558da0c48c4Sopenharmony_ci * Makefile.am (nm_no_Wformat): Removed. 2559da0c48c4Sopenharmony_ci (size_no_Wformat): Likewise. 2560da0c48c4Sopenharmony_ci (strings_no_Wformat): Likewise. 2561da0c48c4Sopenharmony_ci (addr2line_no_Wformat): Likewise. 2562da0c48c4Sopenharmony_ci * size.c (show_sysv): Use fmtstr directly as literal in printf. 2563da0c48c4Sopenharmony_ci (show_sysv_one_line): Likewise. 2564da0c48c4Sopenharmony_ci * strings.c (locfmt): Removed. 2565da0c48c4Sopenharmony_ci (radix): New static enum. 2566da0c48c4Sopenharmony_ci (parse_opt): Set radix, not locfmt. 2567da0c48c4Sopenharmony_ci (process_chunk_mb): Use fmtstr directly as literal in printf based 2568da0c48c4Sopenharmony_ci on radix. 2569da0c48c4Sopenharmony_ci (process_chunk): Likewise. 2570da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Use fmtstr directly as literal in printf. 2571da0c48c4Sopenharmony_ci (show_symbols_bsd): Likewise. 2572da0c48c4Sopenharmony_ci (show_symbols_posix): Likewise. 2573da0c48c4Sopenharmony_ci 2574da0c48c4Sopenharmony_ci2014-01-21 Mark Wielaard <mjw@redhat.com> 2575da0c48c4Sopenharmony_ci 2576da0c48c4Sopenharmony_ci * stack.c (show_inlines): New static boolean. 2577da0c48c4Sopenharmony_ci (print_frame): New function split out from... 2578da0c48c4Sopenharmony_ci (print_frames): ..here. If show_inlines is true and we found a 2579da0c48c4Sopenharmony_ci DIE for the frame address, call print_inline_frames otherwise 2580da0c48c4Sopenharmony_ci call print_frame. Keep track of and track frame_nr. 2581da0c48c4Sopenharmony_ci (print_inline_frames): New function. 2582da0c48c4Sopenharmony_ci (parse_opt): Handle '-i'. 2583da0c48c4Sopenharmony_ci (main): Add 'i' to options. 2584da0c48c4Sopenharmony_ci 2585da0c48c4Sopenharmony_ci2014-01-27 Mark Wielaard <mjw@redhat.com> 2586da0c48c4Sopenharmony_ci 2587da0c48c4Sopenharmony_ci * stack.c (maxframes): Initialize to 256. 2588da0c48c4Sopenharmony_ci (main): Document new default in options. Document magic number 2589da0c48c4Sopenharmony_ci used in frames.allocated initialization. 2590da0c48c4Sopenharmony_ci 2591da0c48c4Sopenharmony_ci2014-01-20 Mark Wielaard <mjw@redhat.com> 2592da0c48c4Sopenharmony_ci 2593da0c48c4Sopenharmony_ci * stack.c (show_debugname): New static boolean. 2594da0c48c4Sopenharmony_ci (die_name): New function. 2595da0c48c4Sopenharmony_ci (print_frames): If show_debugname is true set symname to the 2596da0c48c4Sopenharmony_ci first function-like DIE with a name in scope for the address in 2597da0c48c4Sopenharmony_ci the debuginfo. 2598da0c48c4Sopenharmony_ci (parse_opt): Handle '-d'. 2599da0c48c4Sopenharmony_ci (main): Add 'd' to options. 2600da0c48c4Sopenharmony_ci 2601da0c48c4Sopenharmony_ci2014-01-20 Mark Wielaard <mjw@redhat.com> 2602da0c48c4Sopenharmony_ci 2603da0c48c4Sopenharmony_ci * addr2line.c (handle_address): Initialize scopes to NULL. 2604da0c48c4Sopenharmony_ci 2605da0c48c4Sopenharmony_ci2014-01-17 Roland McGrath <roland@redhat.com> 2606da0c48c4Sopenharmony_ci 2607da0c48c4Sopenharmony_ci * strip.c (handle_elf): Check for bogus values in sh_link, sh_info, 2608da0c48c4Sopenharmony_ci st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data. 2609da0c48c4Sopenharmony_ci Don't use assert on input values, instead bail with "illformed" error. 2610da0c48c4Sopenharmony_ci 2611da0c48c4Sopenharmony_ci2014-01-17 Roland McGrath <roland@redhat.com> 2612da0c48c4Sopenharmony_ci 2613da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link. 2614da0c48c4Sopenharmony_ci (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise. 2615da0c48c4Sopenharmony_ci (handle_scngrp): Check for bogus sh_info. 2616da0c48c4Sopenharmony_ci 2617da0c48c4Sopenharmony_ci2014-01-17 Jakub Jelinek <jakub@redhat.com> 2618da0c48c4Sopenharmony_ci 2619da0c48c4Sopenharmony_ci * elflint.c (section_name): Return "<invalid>" instead of 2620da0c48c4Sopenharmony_ci crashing on invalid section name. 2621da0c48c4Sopenharmony_ci (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic, 2622da0c48c4Sopenharmony_ci check_symtab_shndx, check_hash, check_versym): Robustify. 2623da0c48c4Sopenharmony_ci (check_hash): Don't check entries beyond end of section. 2624da0c48c4Sopenharmony_ci (check_note): Don't crash if gelf_rawchunk fails. 2625da0c48c4Sopenharmony_ci 2626da0c48c4Sopenharmony_ci2014-01-17 Petr Machata <pmachata@redhat.com> 2627da0c48c4Sopenharmony_ci 2628da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic, handle_relocs_rel) 2629da0c48c4Sopenharmony_ci (handle_relocs_rela, handle_versym, print_liblist): 2630da0c48c4Sopenharmony_ci Use gelf_fsize instead of relying on shdr->sh_entsize. 2631da0c48c4Sopenharmony_ci 2632da0c48c4Sopenharmony_ci2014-01-14 Mark Wielaard <mjw@redhat.com> 2633da0c48c4Sopenharmony_ci 2634da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Clear vendor array before 2635da0c48c4Sopenharmony_ci use. 2636da0c48c4Sopenharmony_ci 2637da0c48c4Sopenharmony_ci2014-01-15 Jan Kratochvil <jan.kratochvil@redhat.com> 2638da0c48c4Sopenharmony_ci 2639da0c48c4Sopenharmony_ci Fix corruption of non-C++ symbols by the demangler. 2640da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv, show_symbols_bsd, show_symbols_posix) 2641da0c48c4Sopenharmony_ci (show_symbols): Check for _Z. 2642da0c48c4Sopenharmony_ci * stack.c (print_frames) <USE_DEMANGLE>: Check for _Z. 2643da0c48c4Sopenharmony_ci 2644da0c48c4Sopenharmony_ci2014-01-02 Mark Wielaard <mjw@redhat.com> 2645da0c48c4Sopenharmony_ci 2646da0c48c4Sopenharmony_ci * stack.c (show_raw): Declare unconditionally. 2647da0c48c4Sopenharmony_ci (parse_opt): Handle '-r' unconditionally. 2648da0c48c4Sopenharmony_ci (main): Show "raw" option even without USE_DEMANGLE. 2649da0c48c4Sopenharmony_ci 2650da0c48c4Sopenharmony_ci2014-01-02 Mark Wielaard <mjw@redhat.com> 2651da0c48c4Sopenharmony_ci 2652da0c48c4Sopenharmony_ci * stack.c (print_frames): Print 0x before build-id hex-offset. 2653da0c48c4Sopenharmony_ci 2654da0c48c4Sopenharmony_ci2014-01-02 Mark Wielaard <mjw@redhat.com> 2655da0c48c4Sopenharmony_ci 2656da0c48c4Sopenharmony_ci * stack.c (maxframes): Increase to 2048. 2657da0c48c4Sopenharmony_ci (struct frames): Add allocated field. 2658da0c48c4Sopenharmony_ci (frame_callback): If frames used is frames allocated, realloc. 2659da0c48c4Sopenharmony_ci (print_frames): Show an error if maxframes has been reached. 2660da0c48c4Sopenharmony_ci (parse_opt): Allow -n 0 for unlimited frames. 2661da0c48c4Sopenharmony_ci (main): Document -n 0 and new default 2048 frames. Allocate initial 2662da0c48c4Sopenharmony_ci number of frames with malloc. 2663da0c48c4Sopenharmony_ci 2664da0c48c4Sopenharmony_ci2013-12-30 Mark Wielaard <mjw@redhat.com> 2665da0c48c4Sopenharmony_ci 2666da0c48c4Sopenharmony_ci * stack.c (parse_opt): Explicitly call dwfl_linux_proc_attach 2667da0c48c4Sopenharmony_ci or dwfl_core_file_attach and check for errors. 2668da0c48c4Sopenharmony_ci 2669da0c48c4Sopenharmony_ci2013-12-28 Mark Wielaard <mjw@redhat.com> 2670da0c48c4Sopenharmony_ci 2671da0c48c4Sopenharmony_ci * stack.c (print_frames): Remove address width code and use... 2672da0c48c4Sopenharmony_ci (get_addr_width): ...this new function. 2673da0c48c4Sopenharmony_ci (show_modules): New static boolean. 2674da0c48c4Sopenharmony_ci (module_callback): New static function. 2675da0c48c4Sopenharmony_ci (parse_opt): Handle '-l'. 2676da0c48c4Sopenharmony_ci (main): Add 'l' to options. If show_modules then use dwfl_getmodules 2677da0c48c4Sopenharmony_ci with module_callback to show all detected modules and possible 2678da0c48c4Sopenharmony_ci build_id, elf and dwarf files. 2679da0c48c4Sopenharmony_ci 2680da0c48c4Sopenharmony_ci2013-12-27 Mark Wielaard <mjw@redhat.com> 2681da0c48c4Sopenharmony_ci 2682da0c48c4Sopenharmony_ci * stack.c (frames_shown): New static boolean. 2683da0c48c4Sopenharmony_ci (EXIT_OK,EXIT_ERROR,EXIT_BAD,EXIT_USAGES): New defines. 2684da0c48c4Sopenharmony_ci (frame_callback): Return -1 on error. Don't print error. 2685da0c48c4Sopenharmony_ci (print_frames): Add arguments, tid, dwflerr and what. Print tid. 2686da0c48c4Sopenharmony_ci If there was an error report it with address and module if possible. 2687da0c48c4Sopenharmony_ci Record whether any frames were actually printed. 2688da0c48c4Sopenharmony_ci (thread_callback): Collect tid and err, pass it to print_frames. 2689da0c48c4Sopenharmony_ci (parse_opt): Use EXIT_BAD for errors. On ARGP_KEY_END print errno 2690da0c48c4Sopenharmony_ci if dwfl_linux_proc_report returned it. Check whether we are properly 2691da0c48c4Sopenharmony_ci attached with dwfl_pid. 2692da0c48c4Sopenharmony_ci (main): Document exit status. Don't report DWARF_CB_ABORT from 2693da0c48c4Sopenharmony_ci callbacks as error. Pass real errors to print_frames. Return 2694da0c48c4Sopenharmony_ci EXIT_BAD if no frames could be shown. Return EXIT_ERROR if there 2695da0c48c4Sopenharmony_ci were any non-fatal errors. 2696da0c48c4Sopenharmony_ci 2697da0c48c4Sopenharmony_ci2013-12-23 Mark Wielaard <mjw@redhat.com> 2698da0c48c4Sopenharmony_ci 2699da0c48c4Sopenharmony_ci * Makefile.am (stack_LDADD): Add demanglelib. 2700da0c48c4Sopenharmony_ci * stack.c (show_quiet): New static boolean, default false. 2701da0c48c4Sopenharmony_ci (show_raw): Likewise. 2702da0c48c4Sopenharmony_ci (demangle_buffer_len): New static size_t. 2703da0c48c4Sopenharmony_ci (demangle_buffer): New static char *. 2704da0c48c4Sopenharmony_ci (print_frames): Don't resolve pc name if show_quiet. Demangle name 2705da0c48c4Sopenharmony_ci unless show_raw. 2706da0c48c4Sopenharmony_ci (parse_opt): Handle '-q' and '-r'. 2707da0c48c4Sopenharmony_ci (main): Add 'q' and 'r' to options. Free demangle_buffer. 2708da0c48c4Sopenharmony_ci 2709da0c48c4Sopenharmony_ci2013-12-23 Mark Wielaard <mjw@redhat.com> 2710da0c48c4Sopenharmony_ci 2711da0c48c4Sopenharmony_ci * stack.c (OPT_DEBUGINFO): New define. 2712da0c48c4Sopenharmony_ci (OPT_COREFILE): Likewise. 2713da0c48c4Sopenharmony_ci (pid): New static. 2714da0c48c4Sopenharmony_ci (core_fd): Likewise. 2715da0c48c4Sopenharmony_ci (core): Likewise. 2716da0c48c4Sopenharmony_ci (exec): Likewise. 2717da0c48c4Sopenharmony_ci (debuginfo_path): Likewise. 2718da0c48c4Sopenharmony_ci (parse_opt): Handle '-p', '--core', '-e' and '--debuginfo-path'. 2719da0c48c4Sopenharmony_ci Do argument sanity checking. Setup Dwfl. 2720da0c48c4Sopenharmony_ci (main): Add 'p', 'core', 'e' and 'debuginfo-path' to options. 2721da0c48c4Sopenharmony_ci Remove argp_child children, simplify argp doc, remove custom 2722da0c48c4Sopenharmony_ci usage message and construction of dwfl with dwfl_standard_argp. 2723da0c48c4Sopenharmony_ci Use pid directly as tid. close core and core_fd if opened. Print 2724da0c48c4Sopenharmony_ci pid of process or core. 2725da0c48c4Sopenharmony_ci 2726da0c48c4Sopenharmony_ci2013-12-23 Mark Wielaard <mjw@redhat.com> 2727da0c48c4Sopenharmony_ci 2728da0c48c4Sopenharmony_ci * stack.c (show_build_id): New static boolean. 2729da0c48c4Sopenharmony_ci (print_frames): Print module build-id, load address and pc offset 2730da0c48c4Sopenharmony_ci if show_build_id is true. 2731da0c48c4Sopenharmony_ci (parse_opt): Handle '-b'. 2732da0c48c4Sopenharmony_ci (main): Add -b to options. 2733da0c48c4Sopenharmony_ci 2734da0c48c4Sopenharmony_ci2013-12-22 Mark Wielaard <mjw@redhat.com> 2735da0c48c4Sopenharmony_ci 2736da0c48c4Sopenharmony_ci * stack.c (maxframes): New static unsigned. Initialize to 64. 2737da0c48c4Sopenharmony_ci (struct frame): New struct. 2738da0c48c4Sopenharmony_ci (struct frames): Likewise. 2739da0c48c4Sopenharmony_ci (dwfl): New static Dwfl pointer. 2740da0c48c4Sopenharmony_ci (frame_callback): Use arg as struct frames and fill it next frame. 2741da0c48c4Sopenharmony_ci Return DWARF_CB_ABORT when maxframes has been reached. Move 2742da0c48c4Sopenharmony_ci printing of frame to... 2743da0c48c4Sopenharmony_ci (print_frames): ...here. New function. 2744da0c48c4Sopenharmony_ci (thread_callback): Use arg as struct frames and set frames to zero. 2745da0c48c4Sopenharmony_ci Call print_frames. 2746da0c48c4Sopenharmony_ci (parse_opt): Handle '-n'. 2747da0c48c4Sopenharmony_ci (main): Add -n to options. Allocate frames using maxframes. Pass 2748da0c48c4Sopenharmony_ci frames to frame_callback and thread_callback. 2749da0c48c4Sopenharmony_ci 2750da0c48c4Sopenharmony_ci2013-12-20 Mark Wielaard <mjw@redhat.com> 2751da0c48c4Sopenharmony_ci 2752da0c48c4Sopenharmony_ci * stack.c (show_one_tid): New static boolean. 2753da0c48c4Sopenharmony_ci (parse_opt): Handle '-1'. 2754da0c48c4Sopenharmony_ci (main): Add -1 to options. Call dwfl_getthread_frames when 2755da0c48c4Sopenharmony_ci show_one_tid is true. 2756da0c48c4Sopenharmony_ci 2757da0c48c4Sopenharmony_ci2013-12-18 Mark Wielaard <mjw@redhat.com> 2758da0c48c4Sopenharmony_ci 2759da0c48c4Sopenharmony_ci * addr2line.c (options): Add symbol-sections, 'x'. 2760da0c48c4Sopenharmony_ci (show_symbol_sections): New static bool. 2761da0c48c4Sopenharmony_ci (parse_opt): Handle 'x'. 2762da0c48c4Sopenharmony_ci (print_addrsym): Use dwfl_module_addrinfo value.r 2763da0c48c4Sopenharmony_ci Also show section of address with show_symbol_sections. 2764da0c48c4Sopenharmony_ci (find_symbol): Use dwfl_module_getsym_info and set value. 2765da0c48c4Sopenharmony_ci (handle_address): Request value and use it instead of sym.st_value. 2766da0c48c4Sopenharmony_ci * readelf.c (format_dwarf_addr): Use dwfl_module_addrinfo to get 2767da0c48c4Sopenharmony_ci name and offset. 2768da0c48c4Sopenharmony_ci 2769da0c48c4Sopenharmony_ci2013-12-17 Masatake YAMATO <yamato@redhat.com> 2770da0c48c4Sopenharmony_ci Mark Wielaard <mjw@redhat.com> 2771da0c48c4Sopenharmony_ci 2772da0c48c4Sopenharmony_ci * stack.c (show_activation, show_module, show_source): New variables. 2773da0c48c4Sopenharmony_ci (parse_opt): Set show_activation if -a option is given. 2774da0c48c4Sopenharmony_ci Set show_module if -m option is given. Set show_source if -s option 2775da0c48c4Sopenharmony_ci is given. Set all show booleans when -v option is given. 2776da0c48c4Sopenharmony_ci (main): Added `-a', `-m', `-s', and `-v' to the help message. 2777da0c48c4Sopenharmony_ci (frame_callback): Print module and source file information. 2778da0c48c4Sopenharmony_ci 2779da0c48c4Sopenharmony_ci2013-11-25 Petr Machata <pmachata@redhat.com> 2780da0c48c4Sopenharmony_ci 2781da0c48c4Sopenharmony_ci * elflint.c (valid_e_machine): Add EM_AARCH64. 2782da0c48c4Sopenharmony_ci 2783da0c48c4Sopenharmony_ci2013-11-14 Petr Machata <pmachata@redhat.com> 2784da0c48c4Sopenharmony_ci 2785da0c48c4Sopenharmony_ci * readelf.c (handle_core_item) <'h'>: New branch for handling 2786da0c48c4Sopenharmony_ci fields that shouldn't be displayed. 2787da0c48c4Sopenharmony_ci 2788da0c48c4Sopenharmony_ci2013-11-10 Mark Wielaard <mjw@redhat.com> 2789da0c48c4Sopenharmony_ci 2790da0c48c4Sopenharmony_ci * stack.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and 2791da0c48c4Sopenharmony_ci ARGP_PROGRAM_BUG_ADDRESS_DEF. 2792da0c48c4Sopenharmony_ci (print_version): New function. 2793da0c48c4Sopenharmony_ci 2794da0c48c4Sopenharmony_ci2013-11-09 Mark Wielaard <mjw@redhat.com> 2795da0c48c4Sopenharmony_ci 2796da0c48c4Sopenharmony_ci * arlib.c (arlib_init): Call snprintf before using the result 2797da0c48c4Sopenharmony_ci with memcpy. 2798da0c48c4Sopenharmony_ci (arlib_finalize): Likewise. 2799da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Don't modify cnt inside assert. 2800da0c48c4Sopenharmony_ci 2801da0c48c4Sopenharmony_ci2013-11-07 Jan Kratochvil <jan.kratochvil@redhat.com> 2802da0c48c4Sopenharmony_ci 2803da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add stack. 2804da0c48c4Sopenharmony_ci (stack_LDADD): New. 2805da0c48c4Sopenharmony_ci * stack.c: New file. 2806da0c48c4Sopenharmony_ci 2807da0c48c4Sopenharmony_ci2013-11-05 Mark Wielaard <mjw@redhat.com> 2808da0c48c4Sopenharmony_ci 2809da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Cast address to size_t 2810da0c48c4Sopenharmony_ci before comparison. 2811da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 2812da0c48c4Sopenharmony_ci 2813da0c48c4Sopenharmony_ci2013-10-18 Mark Wielaard <mjw@redhat.com> 2814da0c48c4Sopenharmony_ci 2815da0c48c4Sopenharmony_ci * ar.c (main): Correct operation check when instance_specifed is set. 2816da0c48c4Sopenharmony_ci 2817da0c48c4Sopenharmony_ci2013-09-26 Petr Machata <pmachata@redhat.com> 2818da0c48c4Sopenharmony_ci 2819da0c48c4Sopenharmony_ci * readelf.c (handle_file_note): New function. 2820da0c48c4Sopenharmony_ci (handle_notes_data): Call it to handle NT_FILE notes. 2821da0c48c4Sopenharmony_ci 2822da0c48c4Sopenharmony_ci2013-09-26 Petr Machata <pmachata@redhat.com> 2823da0c48c4Sopenharmony_ci 2824da0c48c4Sopenharmony_ci * readelf.c (handle_siginfo_note): New function. 2825da0c48c4Sopenharmony_ci (handle_notes_data): Call it to handle NT_SIGINFO notes. 2826da0c48c4Sopenharmony_ci (buf_read_int, buf_read_ulong, buf_has_data): New functions. 2827da0c48c4Sopenharmony_ci 2828da0c48c4Sopenharmony_ci2013-08-13 Mark Wielaard <mjw@redhat.com> 2829da0c48c4Sopenharmony_ci 2830da0c48c4Sopenharmony_ci * addr2line.c (options): Add "inlines", 'i'. 2831da0c48c4Sopenharmony_ci (show_inlines): New bool. 2832da0c48c4Sopenharmony_ci (parse_opt): Handle 'i'. 2833da0c48c4Sopenharmony_ci (print_diesym): New static function. 2834da0c48c4Sopenharmony_ci (print_src): New function taking code from... 2835da0c48c4Sopenharmony_ci (handle_address): here. Call print_src. Print inlines. 2836da0c48c4Sopenharmony_ci 2837da0c48c4Sopenharmony_ci2013-08-12 Mark Wielaard <mjw@redhat.com> 2838da0c48c4Sopenharmony_ci 2839da0c48c4Sopenharmony_ci * addr2line.c (main): If there is a newline char at end of buf, 2840da0c48c4Sopenharmony_ci then remove it. 2841da0c48c4Sopenharmony_ci 2842da0c48c4Sopenharmony_ci2013-07-05 Mark Wielaard <mjw@redhat.com> 2843da0c48c4Sopenharmony_ci 2844da0c48c4Sopenharmony_ci * readelf.c (print_ops): Take CU as argument, use it to print 2845da0c48c4Sopenharmony_ci parameter_ref DIE offset. 2846da0c48c4Sopenharmony_ci (struct listptr): Replace base field with cu. 2847da0c48c4Sopenharmony_ci (listptr_base): New function. 2848da0c48c4Sopenharmony_ci (compare_listptr): Use listptr_base. 2849da0c48c4Sopenharmony_ci (notice_listptr): Take CU as argument. 2850da0c48c4Sopenharmony_ci (skip_listptr_hole): Likewise. 2851da0c48c4Sopenharmony_ci (print_debug_ranges_section): Pass NULL as CU to skip_listptr_hole. 2852da0c48c4Sopenharmony_ci (print_cfa_program): Pass NULL as CU to print_ops. 2853da0c48c4Sopenharmony_ci (struct attrcb_args): Replace cu_base field with cu. 2854da0c48c4Sopenharmony_ci (attr_callback): Pass cu not cu_base to notice_listptr. 2855da0c48c4Sopenharmony_ci (print_debug_units): Don't calculate base, just set cu. 2856da0c48c4Sopenharmony_ci (print_debug_loc_section): Pass cu to skip_listptr_hole and 2857da0c48c4Sopenharmony_ci print_ops. 2858da0c48c4Sopenharmony_ci 2859da0c48c4Sopenharmony_ci2013-05-06 Mark Wielaard <mjw@redhat.com> 2860da0c48c4Sopenharmony_ci 2861da0c48c4Sopenharmony_ci * readelf.c (print_ops): Format first DW_OP_GNU_implicit_pointer 2862da0c48c4Sopenharmony_ci argument as DIE offset. 2863da0c48c4Sopenharmony_ci 2864da0c48c4Sopenharmony_ci2013-04-24 Mark Wielaard <mjw@redhat.com> 2865da0c48c4Sopenharmony_ci 2866da0c48c4Sopenharmony_ci * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES. 2867da0c48c4Sopenharmony_ci 2868da0c48c4Sopenharmony_ci2013-03-25 Mark Wielaard <mjw@redhat.com> 2869da0c48c4Sopenharmony_ci 2870da0c48c4Sopenharmony_ci * readelf.c (argp_options): Add decodedline. 2871da0c48c4Sopenharmony_ci (decodedline): New boolean initialized to false. 2872da0c48c4Sopenharmony_ci (parse_opt): Set decodedline when arg is decodedline. 2873da0c48c4Sopenharmony_ci (print_decoded_line_section): New function. 2874da0c48c4Sopenharmony_ci (print_debug_line_section): Call print_decoded_line_section when 2875da0c48c4Sopenharmony_ci decodedline is true. 2876da0c48c4Sopenharmony_ci 2877da0c48c4Sopenharmony_ci2013-03-25 Mark Wielaard <mjw@redhat.com> 2878da0c48c4Sopenharmony_ci 2879da0c48c4Sopenharmony_ci * readelf.c (argp_option): Add decodedaranges. 2880da0c48c4Sopenharmony_ci (decodedaranges): New boolean initialized to false. 2881da0c48c4Sopenharmony_ci (parse_opt): Set decodedaranges when arg is decodedaranges. 2882da0c48c4Sopenharmony_ci (print_debug_aranges_section): Reimplemented and original 2883da0c48c4Sopenharmony_ci implementation renamed to... 2884da0c48c4Sopenharmony_ci (print_decoded_aranges_section): this. 2885da0c48c4Sopenharmony_ci 2886da0c48c4Sopenharmony_ci2013-03-25 Mark Wielaard <mjw@redhat.com> 2887da0c48c4Sopenharmony_ci 2888da0c48c4Sopenharmony_ci * readelf.c (attrcb_args): Add Dwarf_Die. 2889da0c48c4Sopenharmony_ci (attr_callback): When highpc is in constant form also print as 2890da0c48c4Sopenharmony_ci address. 2891da0c48c4Sopenharmony_ci (print_debug_units): Set args.die. 2892da0c48c4Sopenharmony_ci 2893da0c48c4Sopenharmony_ci2013-03-19 Mark Wielaard <mjw@redhat.com> 2894da0c48c4Sopenharmony_ci 2895da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Free format_dwarf_addr results. 2896da0c48c4Sopenharmony_ci 2897da0c48c4Sopenharmony_ci2013-03-18 Mark Wielaard <mjw@redhat.com> 2898da0c48c4Sopenharmony_ci 2899da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Accept version 8. 2900da0c48c4Sopenharmony_ci 2901da0c48c4Sopenharmony_ci2013-03-01 Mark Wielaard <mjw@redhat.com> 2902da0c48c4Sopenharmony_ci 2903da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Release ELF and close file when not 2904da0c48c4Sopenharmony_ci text relocations are found. 2905da0c48c4Sopenharmony_ci * strip.c (handle_elf): Track memory used for .debuglink section data 2906da0c48c4Sopenharmony_ci and free when done. 2907da0c48c4Sopenharmony_ci 2908da0c48c4Sopenharmony_ci2013-02-24 Mark Wielaard <mjw@redhat.com> 2909da0c48c4Sopenharmony_ci 2910da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Add __bss_start__ to the list of symbols 2911da0c48c4Sopenharmony_ci allowed to have out of section values because of GNU ld bugs. 2912da0c48c4Sopenharmony_ci 2913da0c48c4Sopenharmony_ci2013-02-06 Mark Wielaard <mjw@redhat.com> 2914da0c48c4Sopenharmony_ci 2915da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Add __bss_start and __TMC_END__ to the 2916da0c48c4Sopenharmony_ci list of symbols allowed to have out of section values because of 2917da0c48c4Sopenharmony_ci GNU ld bugs in either .symtab or .dynsym, but only when they are 2918da0c48c4Sopenharmony_ci zero sized. 2919da0c48c4Sopenharmony_ci 2920da0c48c4Sopenharmony_ci2013-01-24 Mark Wielaard <mjw@redhat.com> 2921da0c48c4Sopenharmony_ci 2922da0c48c4Sopenharmony_ci * readelf.c (argp_option): Add unresolved-address-offsets, U. 2923da0c48c4Sopenharmony_ci (print_unresolved_addresses): New static. 2924da0c48c4Sopenharmony_ci (parse_opt): Handle 'U', set print_unprocessed_values. 2925da0c48c4Sopenharmony_ci (format_dwarf_addr): Take and handle new raw argument. 2926da0c48c4Sopenharmony_ci (print_ops): Call format_dwarf_addr with raw offset values. 2927da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 2928da0c48c4Sopenharmony_ci (print_debug_frame_section): Likewise. 2929da0c48c4Sopenharmony_ci (attr_callback): Likewise. 2930da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 2931da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 2932da0c48c4Sopenharmony_ci (print_gdb_index_section): Likewise. 2933da0c48c4Sopenharmony_ci 2934da0c48c4Sopenharmony_ci2013-01-18 Mark Wielaard <mjw@redhat.com> 2935da0c48c4Sopenharmony_ci 2936da0c48c4Sopenharmony_ci * readelf.c (struct listptr): Add base Dwarf_Addr field. 2937da0c48c4Sopenharmony_ci (compare_listptr): Warn for same offset with different base. 2938da0c48c4Sopenharmony_ci (notice_listptr): Take base argument and set it. 2939da0c48c4Sopenharmony_ci (skip_listptr_hole): Likewise. 2940da0c48c4Sopenharmony_ci (struct attrcb_args): Removed unused cu_offset field. 2941da0c48c4Sopenharmony_ci Add cu_base Dwarf_Addr field. 2942da0c48c4Sopenharmony_ci (attr_callback): Call notice_listptr with cbargs->cu_base. 2943da0c48c4Sopenharmony_ci (print_debug_units): Set args.cu_base. 2944da0c48c4Sopenharmony_ci (print_debug_ranges_section): Get base and use for format_dwarf_addr. 2945da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 2946da0c48c4Sopenharmony_ci 2947da0c48c4Sopenharmony_ci2013-01-29 Jan Kratochvil <jan.kratochvil@redhat.com> 2948da0c48c4Sopenharmony_ci 2949da0c48c4Sopenharmony_ci * readelf.c (handle_core_items): Limit special repeated items handling 2950da0c48c4Sopenharmony_ci to single-item formats '\n', 'b' and 'B', assert OFFSET 0 there. 2951da0c48c4Sopenharmony_ci 2952da0c48c4Sopenharmony_ci2012-12-18 Mark Wielaard <mark@bordewijk.wildebeest.org> 2953da0c48c4Sopenharmony_ci 2954da0c48c4Sopenharmony_ci * readelf.c (ELF_INPUT_SECTION): New argp key value. 2955da0c48c4Sopenharmony_ci (argp_option): Add elf-section. 2956da0c48c4Sopenharmony_ci (elf_input_section): New static. 2957da0c48c4Sopenharmony_ci (parse_opt): Handle ELF_INPUT_SECTION and set elf_input_section. 2958da0c48c4Sopenharmony_ci (open_input_section): New function. 2959da0c48c4Sopenharmony_ci (process_file): Call open_input_section if elf_input_section set. 2960da0c48c4Sopenharmony_ci 2961da0c48c4Sopenharmony_ci2013-01-13 David Abdurachmanov <David.Abdurachmanov@cern.ch> 2962da0c48c4Sopenharmony_ci 2963da0c48c4Sopenharmony_ci ar.c (do_oper_delete): Fix num passed to memset. 2964da0c48c4Sopenharmony_ci 2965da0c48c4Sopenharmony_ci2012-12-21 Mark Wielaard <mjw@redhat.com> 2966da0c48c4Sopenharmony_ci 2967da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Adjust FDE start address 2968da0c48c4Sopenharmony_ci if pcrel before feeding it to format_dwarf_addr. 2969da0c48c4Sopenharmony_ci 2970da0c48c4Sopenharmony_ci2012-12-21 Mark Wielaard <mjw@redhat.com> 2971da0c48c4Sopenharmony_ci 2972da0c48c4Sopenharmony_ci * addr2line.c (main): Call dwfl_end. 2973da0c48c4Sopenharmony_ci 2974da0c48c4Sopenharmony_ci2012-12-11 Roland McGrath <roland@hack.frob.com> 2975da0c48c4Sopenharmony_ci 2976da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Fix size passed to snprintf for invalid 2977da0c48c4Sopenharmony_ci sh_name case. 2978da0c48c4Sopenharmony_ci Reported by David Abdurachmanov <David.Abdurachmanov@cern.ch>. 2979da0c48c4Sopenharmony_ci 2980da0c48c4Sopenharmony_ci2012-10-16 Mark Wielaard <mjw@redhat.com> 2981da0c48c4Sopenharmony_ci 2982da0c48c4Sopenharmony_ci * readelf.c (print_ops): DW_OP_skip and DW_OP_bra targets are 2983da0c48c4Sopenharmony_ci calculated beginning after the operand and 2-byte constant. 2984da0c48c4Sopenharmony_ci 2985da0c48c4Sopenharmony_ci2012-10-12 Jan Kratochvil <jan.kratochvil@redhat.com> 2986da0c48c4Sopenharmony_ci 2987da0c48c4Sopenharmony_ci * readelf.c (ITEM_WRAP_COLUMN, REGISTER_WRAP_COLUMN): Merge to ... 2988da0c48c4Sopenharmony_ci (WRAP_COLUMN): ... here. 2989da0c48c4Sopenharmony_ci (print_core_item): Remove parameter format_max. Update function 2990da0c48c4Sopenharmony_ci comment. Replace FORMAT_MAX by the real output width. 2991da0c48c4Sopenharmony_ci (handle_core_item): Remove the FORMAT_MAX values in TYPES, DO_TYPE, 2992da0c48c4Sopenharmony_ci calls of print_core_item, remove variable maxfmt, change 2993da0c48c4Sopenharmony_ci ITEM_WRAP_COLUMN to WRAP_COLUMN. 2994da0c48c4Sopenharmony_ci (handle_core_register): Remove the FORMAT_MAX values in TYPES, BITS, 2995da0c48c4Sopenharmony_ci calls of print_core_item, change REGISTER_WRAP_COLUMN to WRAP_COLUMN. 2996da0c48c4Sopenharmony_ci 2997da0c48c4Sopenharmony_ci2012-10-11 Jan Kratochvil <jan.kratochvil@redhat.com> 2998da0c48c4Sopenharmony_ci 2999da0c48c4Sopenharmony_ci * readelf.c (handle_core_item) <b>: Make run an outer block variable. 3000da0c48c4Sopenharmony_ci Increase run only if LASTBIT != 0. Print last element only if RUN > 0. 3001da0c48c4Sopenharmony_ci 3002da0c48c4Sopenharmony_ci2012-08-27 Mark Wielaard <mjw@redhat.com> 3003da0c48c4Sopenharmony_ci 3004da0c48c4Sopenharmony_ci * readelf.c (print_debug_macro_section): Print offset as PRIx64. 3005da0c48c4Sopenharmony_ci 3006da0c48c4Sopenharmony_ci2012-08-27 Mark Wielaard <mjw@redhat.com> 3007da0c48c4Sopenharmony_ci 3008da0c48c4Sopenharmony_ci * readelf.c (register_info): Handle loc == NULL. 3009da0c48c4Sopenharmony_ci 3010da0c48c4Sopenharmony_ci2012-08-22 Jeff Kenton <jkenton@tilera.com> 3011da0c48c4Sopenharmony_ci 3012da0c48c4Sopenharmony_ci * elflint.c (valid_e_machine): Add EM_TILEGX and EM_TILEPRO. 3013da0c48c4Sopenharmony_ci 3014da0c48c4Sopenharmony_ci2012-08-16 Mark Wielaard <mjw@redhat.com> 3015da0c48c4Sopenharmony_ci 3016da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_name): Renamed from dwarf_tag_string. 3017da0c48c4Sopenharmony_ci Uses new dwarf_tag_string or adds ??? or lo_user+%#x when 3018da0c48c4Sopenharmony_ci appropriate. 3019da0c48c4Sopenharmony_ci (dwarf_attr_name): Likewise. 3020da0c48c4Sopenharmony_ci (dwarf_form_name): Likewise. 3021da0c48c4Sopenharmony_ci (dwarf_lang_name): Likewise. 3022da0c48c4Sopenharmony_ci (dwarf_inline_name): Likewise. 3023da0c48c4Sopenharmony_ci (dwarf_encoding_name): Likewise. 3024da0c48c4Sopenharmony_ci (dwarf_access_name): Likewise. 3025da0c48c4Sopenharmony_ci (dwarf_visibility_name): Likewise. 3026da0c48c4Sopenharmony_ci (dwarf_virtuality_name): Likewise. 3027da0c48c4Sopenharmony_ci (dwarf_identifier_case_name): Likewise. 3028da0c48c4Sopenharmony_ci (dwarf_calling_convention_name): Likewise. 3029da0c48c4Sopenharmony_ci (dwarf_ordering_name): Likewise. 3030da0c48c4Sopenharmony_ci (dwarf_discr_list_name): Likewise. 3031da0c48c4Sopenharmony_ci (print_ops): Remove KNOWN. Use dwarf_locexpr_opcode_string. 3032da0c48c4Sopenharmony_ci (attr_callback): Call new dwarf_foobar_name instead of old 3033da0c48c4Sopenharmony_ci dwarf_foobar_string functions. 3034da0c48c4Sopenharmony_ci (dwarf_tag_string): New function using known-dwarf.h macros. 3035da0c48c4Sopenharmony_ci (dwarf_attr_string): Likewise. 3036da0c48c4Sopenharmony_ci (dwarf_form_string): Likewise. 3037da0c48c4Sopenharmony_ci (dwarf_lang_string): Likewise. 3038da0c48c4Sopenharmony_ci (dwarf_inline_string): Likewise. 3039da0c48c4Sopenharmony_ci (dwarf_encoding_string): Likewise. 3040da0c48c4Sopenharmony_ci (dwarf_access_string): Likewise. 3041da0c48c4Sopenharmony_ci (dwarf_visibility_string): Likewise. 3042da0c48c4Sopenharmony_ci (dwarf_virtuality_string): Likewise. 3043da0c48c4Sopenharmony_ci (dwarf_identifier_case_string): Likewise. 3044da0c48c4Sopenharmony_ci (dwarf_calling_convention_string): Likewise. 3045da0c48c4Sopenharmony_ci (dwarf_ordering_string): Likewise. 3046da0c48c4Sopenharmony_ci (dwarf_discr_list_string): Likewise. 3047da0c48c4Sopenharmony_ci (dwarf_locexpr_opcode_string): Likewise. 3048da0c48c4Sopenharmony_ci 3049da0c48c4Sopenharmony_ci2012-06-27 Mark Wielaard <mjw@redhat.com> 3050da0c48c4Sopenharmony_ci 3051da0c48c4Sopenharmony_ci * readelf.c (dwarf_form_string): Handle DW_FORM_GNU_ref_alt and 3052da0c48c4Sopenharmony_ci DW_FORM_GNU_strp_alt. 3053da0c48c4Sopenharmony_ci (attr_callback): Likewise. 3054da0c48c4Sopenharmony_ci 3055da0c48c4Sopenharmony_ci2012-07-30 Petr Machata <pmachata@redhat.com> 3056da0c48c4Sopenharmony_ci 3057da0c48c4Sopenharmony_ci * nm.c (show_symbols_bsd): Reorder arguments in {S,}FMTSTRS (and 3058da0c48c4Sopenharmony_ci corresponding printf) so that those that are referenced by only 3059da0c48c4Sopenharmony_ci one of the formatting strings are at the end. 3060da0c48c4Sopenharmony_ci 3061da0c48c4Sopenharmony_ci2012-07-29 Mark Wielaard <mjw@redhat.com> 3062da0c48c4Sopenharmony_ci 3063da0c48c4Sopenharmony_ci * readelf.c (dwarf_lang_string): Use DW_LANG_ObjC, not DW_LANG_Objc. 3064da0c48c4Sopenharmony_ci (print_ops): Use known[op], not op_name, for DW_OP_GNU_parameter_ref. 3065da0c48c4Sopenharmony_ci 3066da0c48c4Sopenharmony_ci2012-07-19 Mark Wielaard <mjw@redhat.com> 3067da0c48c4Sopenharmony_ci 3068da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_GNU_parameter_ref. 3069da0c48c4Sopenharmony_ci 3070da0c48c4Sopenharmony_ci2012-07-11 Mark Wielaard <mjw@redhat.com> 3071da0c48c4Sopenharmony_ci 3072da0c48c4Sopenharmony_ci * readelf.c (options): Add macro to help of debug-dump. 3073da0c48c4Sopenharmony_ci (section_e): Add section_macro. 3074da0c48c4Sopenharmony_ci (section_all): Add section_macro. 3075da0c48c4Sopenharmony_ci (parse_opt): Handle macro. 3076da0c48c4Sopenharmony_ci (print_debug_macro_section): New function. 3077da0c48c4Sopenharmony_ci (print_debug): Add NEW_SECTION (macro). 3078da0c48c4Sopenharmony_ci 3079da0c48c4Sopenharmony_ci2012-07-10 Mark Wielaard <mjw@redhat.com> 3080da0c48c4Sopenharmony_ci 3081da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Add version 7 support. 3082da0c48c4Sopenharmony_ci Keep track of cu_nr. Print kind and static/global flag for each 3083da0c48c4Sopenharmony_ci symbol. When a symbol is in the TU list add 'T'. 3084da0c48c4Sopenharmony_ci 3085da0c48c4Sopenharmony_ci2012-06-26 Mark Wielaard <mjw@redhat.com> 3086da0c48c4Sopenharmony_ci 3087da0c48c4Sopenharmony_ci * readelf.c (dwarf_attr_string): Add DW_AT_GNU_macros. 3088da0c48c4Sopenharmony_ci 3089da0c48c4Sopenharmony_ci2012-06-22 Mark Wielaard <mjw@redhat.com> 3090da0c48c4Sopenharmony_ci 3091da0c48c4Sopenharmony_ci * readelf.c (print_ops): Cast printf PRIu/x64 arguments to uint64_t 3092da0c48c4Sopenharmony_ci for gcc 4.7 -Wformat. 3093da0c48c4Sopenharmony_ci 3094da0c48c4Sopenharmony_ci2012-05-09 Roland McGrath <roland@hack.frob.com> 3095da0c48c4Sopenharmony_ci 3096da0c48c4Sopenharmony_ci * elflint (check_sections): Allow zero sized sections at (filesz) end 3097da0c48c4Sopenharmony_ci of segment. And make check overflow-proofed. 3098da0c48c4Sopenharmony_ci 3099da0c48c4Sopenharmony_ci2012-04-24 Mark Wielaard <mjw@redhat.com> 3100da0c48c4Sopenharmony_ci 3101da0c48c4Sopenharmony_ci * readelf.c (print_ops): Add DW_OP_GNU_push_tls_address, 3102da0c48c4Sopenharmony_ci DW_OP_GNU_uinit and DW_OP_GNU_encoded_addr. 3103da0c48c4Sopenharmony_ci 3104da0c48c4Sopenharmony_ci2012-03-28 Roland McGrath <roland@hack.frob.com> 3105da0c48c4Sopenharmony_ci 3106da0c48c4Sopenharmony_ci * elflint.c (special_sections): Accept SHF_INFO_LINK for reloc sections. 3107da0c48c4Sopenharmony_ci 3108da0c48c4Sopenharmony_ci2012-03-28 Mark Wielaard <mjw@redhat.com> 3109da0c48c4Sopenharmony_ci 3110da0c48c4Sopenharmony_ci * readelf.c (print_debug_abbrev_section): Check there is Dwarf 3111da0c48c4Sopenharmony_ci section data. 3112da0c48c4Sopenharmony_ci (print_debug_str_section): Likewise. 3113da0c48c4Sopenharmony_ci 3114da0c48c4Sopenharmony_ci2012-03-21 Mark Wielaard <mjw@redhat.com> 3115da0c48c4Sopenharmony_ci 3116da0c48c4Sopenharmony_ci * readelf.c (print_gdb_index_section): Accept version 6. 3117da0c48c4Sopenharmony_ci 3118da0c48c4Sopenharmony_ci2012-01-31 Mark Wielaard <mjw@redhat.com> 3119da0c48c4Sopenharmony_ci 3120da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Don't special case DW_FORM_sec_offset. 3121da0c48c4Sopenharmony_ci 3122da0c48c4Sopenharmony_ci2012-01-21 Ulrich Drepper <drepper@gmail.com> 3123da0c48c4Sopenharmony_ci 3124da0c48c4Sopenharmony_ci * addr2line.c: Update copyright year. 3125da0c48c4Sopenharmony_ci * ar.c: Likewise. 3126da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 3127da0c48c4Sopenharmony_ci * elflint.c: Likewise. 3128da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 3129da0c48c4Sopenharmony_ci * ld.c: Likewise. 3130da0c48c4Sopenharmony_ci * nm.c: Likewise. 3131da0c48c4Sopenharmony_ci * objdump.c: Likewise. 3132da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 3133da0c48c4Sopenharmony_ci * readelf.c: Likewise. 3134da0c48c4Sopenharmony_ci * size.c: Likewise. 3135da0c48c4Sopenharmony_ci * strings.c: Likewise. 3136da0c48c4Sopenharmony_ci * strip.c: Likewise. 3137da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 3138da0c48c4Sopenharmony_ci 3139da0c48c4Sopenharmony_ci * nm.c (argp_children): Define. 3140da0c48c4Sopenharmony_ci (argp): Hook up argp_children. 3141da0c48c4Sopenharmony_ci (handle_ar): Optimize puts call. 3142da0c48c4Sopenharmony_ci (show_symbols_bsd): Use positional parameters to also print color 3143da0c48c4Sopenharmony_ci codes. Don't print STT_FILE symbols. 3144da0c48c4Sopenharmony_ci * objdump.c (options): Improve help text. 3145da0c48c4Sopenharmony_ci (argp_children): Define. 3146da0c48c4Sopenharmony_ci (argp): Hook up argp_children. 3147da0c48c4Sopenharmony_ci (disasm_info): Add elements for color codes. 3148da0c48c4Sopenharmony_ci (disasm_output): Print color codes as well. 3149da0c48c4Sopenharmony_ci (show_disasm): Set up disasm_info data for callback. 3150da0c48c4Sopenharmony_ci 3151da0c48c4Sopenharmony_ci2012-01-20 Roland McGrath <roland@hack.frob.com> 3152da0c48c4Sopenharmony_ci 3153da0c48c4Sopenharmony_ci * arlib-argp.c (arlib_deterministic_output): Initialize from 3154da0c48c4Sopenharmony_ci configured value. 3155da0c48c4Sopenharmony_ci (help_filter): New function. 3156da0c48c4Sopenharmony_ci (argp): Use it. 3157da0c48c4Sopenharmony_ci 3158da0c48c4Sopenharmony_ci * ar.c (main): Handle oper_none as usage error. 3159da0c48c4Sopenharmony_ci 3160da0c48c4Sopenharmony_ci * arlib-argp.c (options, parse_opt): Grok -U as inverse of -D. 3161da0c48c4Sopenharmony_ci 3162da0c48c4Sopenharmony_ci * ranlib.c (argp): Use arlib_argp_children. 3163da0c48c4Sopenharmony_ci 3164da0c48c4Sopenharmony_ci * arlib.c (arlib_init): Obey arlib_deterministic_output. 3165da0c48c4Sopenharmony_ci 3166da0c48c4Sopenharmony_ci * arlib-argp.c: New file. 3167da0c48c4Sopenharmony_ci * Makefile.am (libar_a_SOURCES): Add it. 3168da0c48c4Sopenharmony_ci * arlib.h (arlib_deterministic_output, arlib_argp_children): 3169da0c48c4Sopenharmony_ci Declare new variables. 3170da0c48c4Sopenharmony_ci * ar.c (deterministic_output): Variable removed. 3171da0c48c4Sopenharmony_ci (do_oper_insert): Use arlib_deterministic_output instead. 3172da0c48c4Sopenharmony_ci (options, parse_opt): Don't handle -D here. Add group numbers. 3173da0c48c4Sopenharmony_ci (argp): Use arlib_argp_children. 3174da0c48c4Sopenharmony_ci 3175da0c48c4Sopenharmony_ci2011-12-20 Roland McGrath <roland@hack.frob.com> 3176da0c48c4Sopenharmony_ci 3177da0c48c4Sopenharmony_ci * readelf.c (print_debug): Initialize DUMMY_DBG.elf. 3178da0c48c4Sopenharmony_ci Reported by Karel Klic <kklic@redhat.com>. 3179da0c48c4Sopenharmony_ci 3180da0c48c4Sopenharmony_ci2011-11-05 Roland McGrath <roland@hack.frob.com> 3181da0c48c4Sopenharmony_ci 3182da0c48c4Sopenharmony_ci * ar.c (deterministic_output): New flag variable. 3183da0c48c4Sopenharmony_ci (options, parse_opt): Grok -D to set it. 3184da0c48c4Sopenharmony_ci (do_oper_insert): When set, use zero from mtime, uid, and gid. 3185da0c48c4Sopenharmony_ci 3186da0c48c4Sopenharmony_ci * ar.c (do_oper_insert): Fix check on elf_rawfile return value. 3187da0c48c4Sopenharmony_ci 3188da0c48c4Sopenharmony_ci2011-10-04 Marek Polacek <mpolacek@redhat.com> 3189da0c48c4Sopenharmony_ci 3190da0c48c4Sopenharmony_ci * readelf.c (register_info): Assume the right size of an array. 3191da0c48c4Sopenharmony_ci 3192da0c48c4Sopenharmony_ci2011-10-03 Ulrich Drepper <drepper@gmail.com> 3193da0c48c4Sopenharmony_ci 3194da0c48c4Sopenharmony_ci * nm.c: Recognize option --mark-special. Still recognize --mark-weak 3195da0c48c4Sopenharmony_ci but don't show it in help anymore. 3196da0c48c4Sopenharmony_ci (mark_special): Renamed from mark_weak. 3197da0c48c4Sopenharmony_ci (parse_opt): Adjust. 3198da0c48c4Sopenharmony_ci (class_type_char): Take additional parameters for ELF file and ELF 3199da0c48c4Sopenharmony_ci header. Treat TLS symbols like objects. 3200da0c48c4Sopenharmony_ci In case of D symbols, show u for unique symbols, R for symbols in 3201da0c48c4Sopenharmony_ci read-only sections, B for symbols in BSS sections. 3202da0c48c4Sopenharmony_ci (show_symbols_bsd): Take additional parameters for ELF file and ELF 3203da0c48c4Sopenharmony_ci header. Adjust for class_type_char change. Show TLS symbols with 3204da0c48c4Sopenharmony_ci @ after them in case --mark-special is selected. 3205da0c48c4Sopenharmony_ci (show_symbols_posix): Likewise. 3206da0c48c4Sopenharmony_ci (show_symbols): Adjust calls to show_symbols_bsd and 3207da0c48c4Sopenharmony_ci show_symbols_posix. 3208da0c48c4Sopenharmony_ci (show_symbols_sysv): Avoid printing address and size for undefined 3209da0c48c4Sopenharmony_ci symbols. Don't print initial special entry and section entries. 3210da0c48c4Sopenharmony_ci 3211da0c48c4Sopenharmony_ci2011-10-02 Ulrich Drepper <drepper@gmail.com> 3212da0c48c4Sopenharmony_ci 3213da0c48c4Sopenharmony_ci * Makefile.am (demanglelib): Define. 3214da0c48c4Sopenharmony_ci (nm_LDADD): Add demanglelib. 3215da0c48c4Sopenharmony_ci * nm.c (options): Add -C option. 3216da0c48c4Sopenharmony_ci (demangle): Define as global variable. 3217da0c48c4Sopenharmony_ci (parse_opt): Recognize -C. 3218da0c48c4Sopenharmony_ci (show_symbols_sysv): Handle demangling. 3219da0c48c4Sopenharmony_ci (show_symbols_bad): Likewise. 3220da0c48c4Sopenharmony_ci (show_symbols_posix): Likewise. 3221da0c48c4Sopenharmony_ci (show_symbols): Likewise. 3222da0c48c4Sopenharmony_ci 3223da0c48c4Sopenharmony_ci2011-07-09 Roland McGrath <roland@hack.frob.com> 3224da0c48c4Sopenharmony_ci 3225da0c48c4Sopenharmony_ci * readelf.c (options, parse_opt): Grok -W/--wide and ignore it. 3226da0c48c4Sopenharmony_ci 3227da0c48c4Sopenharmony_ci * ar.c (parse_opt): Grok -u. 3228da0c48c4Sopenharmony_ci 3229da0c48c4Sopenharmony_ci2011-05-30 Mark Wielaard <mjw@redhat.com> 3230da0c48c4Sopenharmony_ci 3231da0c48c4Sopenharmony_ci * strip.c (relocate): Make offset check overflow-proof. 3232da0c48c4Sopenharmony_ci 3233da0c48c4Sopenharmony_ci2011-05-23 Mark Wielaard <mjw@redhat.com> 3234da0c48c4Sopenharmony_ci 3235da0c48c4Sopenharmony_ci * strip.c (relocate): Take new arguments is_rela to indicate 3236da0c48c4Sopenharmony_ci whether the relocation is from a SHT_REL or SHT_RELA section. 3237da0c48c4Sopenharmony_ci Relocate against any debug section symbol, not just STT_SECTION 3238da0c48c4Sopenharmony_ci symbols. For SHT_REL relocations, fetch addend from offset and 3239da0c48c4Sopenharmony_ci add it to symbol value if not zero. 3240da0c48c4Sopenharmony_ci 3241da0c48c4Sopenharmony_ci2011-05-23 Mark Wielaard <mjw@redhat.com> 3242da0c48c4Sopenharmony_ci 3243da0c48c4Sopenharmony_ci * strip.c (OPT_RELOC_DEBUG): New option. 3244da0c48c4Sopenharmony_ci (argp_option): Add new --reloc-debug-sections option. 3245da0c48c4Sopenharmony_ci (main): Check new option. 3246da0c48c4Sopenharmony_ci (parse_opt): Likewise. 3247da0c48c4Sopenharmony_ci (handle_elf): Remove any relocations between debug sections 3248da0c48c4Sopenharmony_ci in ET_REL for the debug file when requested. 3249da0c48c4Sopenharmony_ci 3250da0c48c4Sopenharmony_ci2011-05-18 Mark Wielaard <mjw@redhat.com> 3251da0c48c4Sopenharmony_ci 3252da0c48c4Sopenharmony_ci * strip.c (handle_elf): Make sure all sections of a removed group 3253da0c48c4Sopenharmony_ci section are removed too. Don't discard SHT_GROUP sections, copy 3254da0c48c4Sopenharmony_ci section table before it gets modified. Section group signature 3255da0c48c4Sopenharmony_ci symbols don't have to be retained. 3256da0c48c4Sopenharmony_ci 3257da0c48c4Sopenharmony_ci2011-05-16 Jakub Jelinek <jakub@redhat.com> 3258da0c48c4Sopenharmony_ci 3259da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_GNU_const_type, 3260da0c48c4Sopenharmony_ci DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert 3261da0c48c4Sopenharmony_ci and DW_OP_GNU_reinterpret. 3262da0c48c4Sopenharmony_ci 3263da0c48c4Sopenharmony_ci2011-05-17 Mark Wielaard <mjw@redhat.com> 3264da0c48c4Sopenharmony_ci 3265da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string): Fixup DW_TAG_GNU_call_site and 3266da0c48c4Sopenharmony_ci DW_TAG_GNU_call_site_parameter return strings. 3267da0c48c4Sopenharmony_ci 3268da0c48c4Sopenharmony_ci2011-05-11 Marek Polacek <mpolacek@redhat.com> 3269da0c48c4Sopenharmony_ci 3270da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Remove unused if/else, remove 3271da0c48c4Sopenharmony_ci unused `prefix' and `fname' parameters. 3272da0c48c4Sopenharmony_ci 3273da0c48c4Sopenharmony_ci2011-05-07 Marek Polacek <mpolacek@redhat.com> 3274da0c48c4Sopenharmony_ci 3275da0c48c4Sopenharmony_ci * unstrip.c (compare_sections_nonrel): Mark this function as static. 3276da0c48c4Sopenharmony_ci 3277da0c48c4Sopenharmony_ci2011-04-26 Mark Wielaard <mjw@redhat.com> 3278da0c48c4Sopenharmony_ci 3279da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Call ebl_object_note_type_name 3280da0c48c4Sopenharmony_ci with note name. 3281da0c48c4Sopenharmony_ci 3282da0c48c4Sopenharmony_ci2011-04-14 Mark Wielaard <mjw@redhat.com> 3283da0c48c4Sopenharmony_ci 3284da0c48c4Sopenharmony_ci * readelf.c (options): Add gdb_index. 3285da0c48c4Sopenharmony_ci (section_e): Define section_gdb_index. 3286da0c48c4Sopenharmony_ci (parse_opt): Recognize gdb_index debug-dump argument. 3287da0c48c4Sopenharmony_ci (print_gdb_index_section): New function. 3288da0c48c4Sopenharmony_ci (print_debug): Add gdb_index to debug_sections. 3289da0c48c4Sopenharmony_ci 3290da0c48c4Sopenharmony_ci2011-03-24 Petr Machata <pmachata@redhat.com> 3291da0c48c4Sopenharmony_ci 3292da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Emit initial space for all 3293da0c48c4Sopenharmony_ci opcode lines. Print offset in front of each opcode. 3294da0c48c4Sopenharmony_ci 3295da0c48c4Sopenharmony_ci2011-03-22 Marek Polacek <mpolacek@redhat.com> 3296da0c48c4Sopenharmony_ci 3297da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case. 3298da0c48c4Sopenharmony_ci 3299da0c48c4Sopenharmony_ci2011-03-22 Mark Wielaard <mjw@redhat.com> 3300da0c48c4Sopenharmony_ci 3301da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string): Support DW_TAG_GNU_call_site 3302da0c48c4Sopenharmony_ci and DW_TAG_GNU_call_site_parameter. 3303da0c48c4Sopenharmony_ci (dwarf_attr_string): Support DW_AT_GNU_call_site_value, 3304da0c48c4Sopenharmony_ci DW_AT_GNU_call_site_data_value, 3305da0c48c4Sopenharmony_ci DW_AT_GNU_call_site_target, 3306da0c48c4Sopenharmony_ci DW_AT_GNU_call_site_target_clobbered, 3307da0c48c4Sopenharmony_ci DW_AT_GNU_tail_call, 3308da0c48c4Sopenharmony_ci DW_AT_GNU_all_tail_call_sites, 3309da0c48c4Sopenharmony_ci DW_AT_GNU_all_call_sites, 3310da0c48c4Sopenharmony_ci and DW_AT_GNU_all_source_call_sites. 3311da0c48c4Sopenharmony_ci (print_ops): Handle DW_OP_GNU_entry_value. 3312da0c48c4Sopenharmony_ci (attr_callback): Handle DW_AT_GNU_call_site_value, 3313da0c48c4Sopenharmony_ci DW_AT_GNU_call_site_data_value, 3314da0c48c4Sopenharmony_ci DW_AT_GNU_call_site_target, 3315da0c48c4Sopenharmony_ci and DW_AT_GNU_call_site_target_clobbered. 3316da0c48c4Sopenharmony_ci 3317da0c48c4Sopenharmony_ci2011-03-10 Mark Wielaard <mjw@redhat.com> 3318da0c48c4Sopenharmony_ci 3319da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Use ebl_check_st_other_bits. 3320da0c48c4Sopenharmony_ci 3321da0c48c4Sopenharmony_ci2011-02-27 Jan Kratochvil <jan.kratochvil@redhat.com> 3322da0c48c4Sopenharmony_ci 3323da0c48c4Sopenharmony_ci * readelf.c (reset_listptr): Clear TABLE->TABLE. 3324da0c48c4Sopenharmony_ci 3325da0c48c4Sopenharmony_ci2011-02-25 Mark Wielaard <mjw@redhat.com> 3326da0c48c4Sopenharmony_ci 3327da0c48c4Sopenharmony_ci * readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling. 3328da0c48c4Sopenharmony_ci (dwarf_form_string): Properly format and return unknown form. 3329da0c48c4Sopenharmony_ci 3330da0c48c4Sopenharmony_ci2011-02-23 Roland McGrath <roland@redhat.com> 3331da0c48c4Sopenharmony_ci 3332da0c48c4Sopenharmony_ci * readelf.c (section_name): New function. 3333da0c48c4Sopenharmony_ci (print_debug_abbrev_section): Use it instead of constant. 3334da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 3335da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 3336da0c48c4Sopenharmony_ci (print_debug_units): Likewise. 3337da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 3338da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 3339da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 3340da0c48c4Sopenharmony_ci (print_debug_pubnames_section): Likewise. 3341da0c48c4Sopenharmony_ci (print_debug_str_section): Likewise. 3342da0c48c4Sopenharmony_ci (print_debug) [USE_ZLIB]: Match .zdebug_* sections too. 3343da0c48c4Sopenharmony_ci (print_debug_abbrev_section): Use decoded d_size, not sh_size. 3344da0c48c4Sopenharmony_ci (print_debug_str_section): Likewise. 3345da0c48c4Sopenharmony_ci 3346da0c48c4Sopenharmony_ci * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature. 3347da0c48c4Sopenharmony_ci 3348da0c48c4Sopenharmony_ci2011-02-11 Roland McGrath <roland@redhat.com> 3349da0c48c4Sopenharmony_ci 3350da0c48c4Sopenharmony_ci * elfcmp.c (verbose): New variable. 3351da0c48c4Sopenharmony_ci (options, parse_opt): Grok -l/--verbose to set it. 3352da0c48c4Sopenharmony_ci (main): Under -l, keep going after first difference. 3353da0c48c4Sopenharmony_ci 3354da0c48c4Sopenharmony_ci * elfcmp.c (ignore_build_id): New variable. 3355da0c48c4Sopenharmony_ci (options, parse_opt): Grok --ignore-build-id to set it. 3356da0c48c4Sopenharmony_ci (main): For SHT_NOTE sections, compare note details rather than raw 3357da0c48c4Sopenharmony_ci bytes. Under --ignore-build-id, don't complain about differing build 3358da0c48c4Sopenharmony_ci ID contents if lengths match. 3359da0c48c4Sopenharmony_ci 3360da0c48c4Sopenharmony_ci2011-02-08 Roland McGrath <roland@redhat.com> 3361da0c48c4Sopenharmony_ci 3362da0c48c4Sopenharmony_ci * ldscript.y (filename_id_star): Remove unused variable. 3363da0c48c4Sopenharmony_ci 3364da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Remove unused variable. 3365da0c48c4Sopenharmony_ci 3366da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Remove unused variables. 3367da0c48c4Sopenharmony_ci 3368da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Warn about missing xndx section only once. 3369da0c48c4Sopenharmony_ci 3370da0c48c4Sopenharmony_ci * ldgeneric.c (check_for_duplicate2): Remove unused variable. 3371da0c48c4Sopenharmony_ci 3372da0c48c4Sopenharmony_ci2011-01-06 Roland McGrath <roland@redhat.com> 3373da0c48c4Sopenharmony_ci 3374da0c48c4Sopenharmony_ci * strip.c (handle_elf): Under --strip-sections, remove all 3375da0c48c4Sopenharmony_ci non-allocated sections and never generate .gnu_debuglink. 3376da0c48c4Sopenharmony_ci 3377da0c48c4Sopenharmony_ci2011-01-04 Roland McGrath <roland@redhat.com> 3378da0c48c4Sopenharmony_ci 3379da0c48c4Sopenharmony_ci * strip.c (remove_shdrs): New variable. 3380da0c48c4Sopenharmony_ci (options, parse_opt): Grok --strip-sections to set it. 3381da0c48c4Sopenharmony_ci (handle_elf): When that's set, truncate off .shstrtab and shdrs. 3382da0c48c4Sopenharmony_ci 3383da0c48c4Sopenharmony_ci2010-11-10 Roland McGrath <roland@redhat.com> 3384da0c48c4Sopenharmony_ci 3385da0c48c4Sopenharmony_ci * findtextrel.c (process_file): Don't assume order of sections. 3386da0c48c4Sopenharmony_ci Reported by Mike Hommey <mh@glandium.org>. 3387da0c48c4Sopenharmony_ci 3388da0c48c4Sopenharmony_ci2010-07-26 Roland McGrath <roland@redhat.com> 3389da0c48c4Sopenharmony_ci 3390da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle DW_OP_GNU_implicit_pointer. 3391da0c48c4Sopenharmony_ci 3392da0c48c4Sopenharmony_ci2010-08-30 Roland McGrath <roland@redhat.com> 3393da0c48c4Sopenharmony_ci 3394da0c48c4Sopenharmony_ci Print .debug_loc/.debug_ranges with cognizance of actual DIE uses. 3395da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Add section_info to implicit_debug_sections 3396da0c48c4Sopenharmony_ci for ranges, loc. 3397da0c48c4Sopenharmony_ci (struct listptr, struct listptr_table): New types. 3398da0c48c4Sopenharmony_ci (compare_listptr, reset_listptr, sort_listptr): New functions. 3399da0c48c4Sopenharmony_ci (notice_listptr, skip_listptr_hole): New functions. 3400da0c48c4Sopenharmony_ci (struct attrcb_args): Add silent member. 3401da0c48c4Sopenharmony_ci (attr_callback): Call notice_listptr for loclistptr and rangelistptr. 3402da0c48c4Sopenharmony_ci Suppress output if silent, but still call notice_listptr. 3403da0c48c4Sopenharmony_ci (print_debug_units): Suppress output if section_info not requested. 3404da0c48c4Sopenharmony_ci (print_debug_loc_section): Call sort_listptr, skip_listptr_hole. 3405da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 3406da0c48c4Sopenharmony_ci (print_debug): Call reset_listptr on both tables. 3407da0c48c4Sopenharmony_ci 3408da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Print empty list. 3409da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 3410da0c48c4Sopenharmony_ci 3411da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Check for bogus length 3412da0c48c4Sopenharmony_ci before calling print_ops. 3413da0c48c4Sopenharmony_ci (print_ops): Check harder for bogus data that would read off end. 3414da0c48c4Sopenharmony_ci 3415da0c48c4Sopenharmony_ci2010-08-11 Roland McGrath <roland@redhat.com> 3416da0c48c4Sopenharmony_ci 3417da0c48c4Sopenharmony_ci * readelf.c (for_each_section_argument): Process all sections with 3418da0c48c4Sopenharmony_ci matching name, not just the first. 3419da0c48c4Sopenharmony_ci 3420da0c48c4Sopenharmony_ci2010-07-26 Roland McGrath <roland@redhat.com> 3421da0c48c4Sopenharmony_ci 3422da0c48c4Sopenharmony_ci * readelf.c (print_ops): Take new argument for CU version. 3423da0c48c4Sopenharmony_ci Fix DW_OP_call_ref decoding to depend on it. 3424da0c48c4Sopenharmony_ci (print_debug_loc_section): Update caller. 3425da0c48c4Sopenharmony_ci (print_cfa_program): Take new argument, pass it down. 3426da0c48c4Sopenharmony_ci (print_debug_frame_section): Update caller. 3427da0c48c4Sopenharmony_ci (struct attrcb_args): New member version. 3428da0c48c4Sopenharmony_ci (print_debug_units): Initialize it. 3429da0c48c4Sopenharmony_ci 3430da0c48c4Sopenharmony_ci2010-07-02 Roland McGrath <roland@redhat.com> 3431da0c48c4Sopenharmony_ci 3432da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Use format_dwarf_addr for 3433da0c48c4Sopenharmony_ci initial_location. 3434da0c48c4Sopenharmony_ci 3435da0c48c4Sopenharmony_ci2010-06-30 Roland McGrath <roland@redhat.com> 3436da0c48c4Sopenharmony_ci 3437da0c48c4Sopenharmony_ci * strings.c (main): Use STDIN_FILENO, not STDOUT_FILENO. 3438da0c48c4Sopenharmony_ci Ignore st_size for a non-S_ISREG file descriptor. 3439da0c48c4Sopenharmony_ci (read_block): Move assert after no-mmap bail-out. 3440da0c48c4Sopenharmony_ci (read_block_no_mmap): Fix size calculations for moving buffer remnant. 3441da0c48c4Sopenharmony_ci 3442da0c48c4Sopenharmony_ci2010-06-22 Roland McGrath <roland@redhat.com> 3443da0c48c4Sopenharmony_ci 3444da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Fix braino in DW_LNS_set_isa. 3445da0c48c4Sopenharmony_ci 3446da0c48c4Sopenharmony_ci2010-06-21 Roland McGrath <roland@redhat.com> 3447da0c48c4Sopenharmony_ci 3448da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string): Handle new v4 tags. 3449da0c48c4Sopenharmony_ci (dwarf_attr_string): Add new attributes. 3450da0c48c4Sopenharmony_ci (dwarf_tag_string): Handle DW_TAG_GNU_*. 3451da0c48c4Sopenharmony_ci 3452da0c48c4Sopenharmony_ci * readelf.c (print_ops): Use 64-bit types for LEB128 operands. 3453da0c48c4Sopenharmony_ci (print_cfa_program): Likewise. 3454da0c48c4Sopenharmony_ci 3455da0c48c4Sopenharmony_ci2010-06-20 Roland McGrath <roland@redhat.com> 3456da0c48c4Sopenharmony_ci 3457da0c48c4Sopenharmony_ci * readelf.c (print_debug_units): New function, broken out of ... 3458da0c48c4Sopenharmony_ci (print_debug_info_section): ... here. Call it. 3459da0c48c4Sopenharmony_ci (print_debug_types_section): New function. 3460da0c48c4Sopenharmony_ci (enum section_e): Add section_types alias for section_info. 3461da0c48c4Sopenharmony_ci (print_debug): Add types to the sections table. 3462da0c48c4Sopenharmony_ci 3463da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Handle version 4 format. 3464da0c48c4Sopenharmony_ci 3465da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Handle version 4 format. 3466da0c48c4Sopenharmony_ci 3467da0c48c4Sopenharmony_ci2010-06-14 Roland McGrath <roland@redhat.com> 3468da0c48c4Sopenharmony_ci 3469da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Make sure all sections' data have 3470da0c48c4Sopenharmony_ci been read in before we write anything out. 3471da0c48c4Sopenharmony_ci 3472da0c48c4Sopenharmony_ci2010-06-04 Roland McGrath <roland@redhat.com> 3473da0c48c4Sopenharmony_ci 3474da0c48c4Sopenharmony_ci * unstrip.c (update_shdr): New function. 3475da0c48c4Sopenharmony_ci (update_sh_size): Call it instead of gelf_update_shdr. 3476da0c48c4Sopenharmony_ci (adjust_relocs, add_new_section_symbols): Likewise. 3477da0c48c4Sopenharmony_ci (new_shstrtab, copy_elided_sections): Likewise. 3478da0c48c4Sopenharmony_ci 3479da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Bail if stripped file has more 3480da0c48c4Sopenharmony_ci sections than unstripped file, rather than getting confused later. 3481da0c48c4Sopenharmony_ci 3482da0c48c4Sopenharmony_ci2010-06-01 Roland McGrath <roland@redhat.com> 3483da0c48c4Sopenharmony_ci 3484da0c48c4Sopenharmony_ci * readelf.c (dwarf_form_string): Handle DWARF 4 forms. 3485da0c48c4Sopenharmony_ci (attr_callback): Handle DW_FORM_flag_present, DW_FORM_exprloc, 3486da0c48c4Sopenharmony_ci DW_FORM_sec_offset, DW_FORM_ref_sig8. 3487da0c48c4Sopenharmony_ci 3488da0c48c4Sopenharmony_ci * readelf.c (print_debug): Don't bail if libdw setup fails. 3489da0c48c4Sopenharmony_ci Suppress complaint if we only want .eh_frame anyway. 3490da0c48c4Sopenharmony_ci 3491da0c48c4Sopenharmony_ci2010-05-28 Ulrich Drepper <drepper@redhat.com> 3492da0c48c4Sopenharmony_ci 3493da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Also print form information. 3494da0c48c4Sopenharmony_ci 3495da0c48c4Sopenharmony_ci2010-05-19 Roland McGrath <roland@redhat.com> 3496da0c48c4Sopenharmony_ci 3497da0c48c4Sopenharmony_ci * addr2line.c (find_symbol): Short-circuit on empty name. 3498da0c48c4Sopenharmony_ci (handle_address): Handle SYMBOL with no +OFFSET. 3499da0c48c4Sopenharmony_ci 3500da0c48c4Sopenharmony_ci2010-05-08 Roland McGrath <roland@redhat.com> 3501da0c48c4Sopenharmony_ci 3502da0c48c4Sopenharmony_ci * readelf.c (print_ops): Take new arg OFFSET_SIZE. 3503da0c48c4Sopenharmony_ci Use that for DW_OP_call_ref, not ADDRSIZE. 3504da0c48c4Sopenharmony_ci (print_cfa_program): Update caller. 3505da0c48c4Sopenharmony_ci (struct attrcb_args): Add offset_size field. 3506da0c48c4Sopenharmony_ci (attr_callback): Use it for print_ops call. 3507da0c48c4Sopenharmony_ci (print_debug_info_section): Initialize it. 3508da0c48c4Sopenharmony_ci (print_ops): Likewise. 3509da0c48c4Sopenharmony_ci 3510da0c48c4Sopenharmony_ci2010-04-14 Roland McGrath <roland@redhat.com> 3511da0c48c4Sopenharmony_ci 3512da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Fix bitmask printing. 3513da0c48c4Sopenharmony_ci 3514da0c48c4Sopenharmony_ci2010-04-06 Roland McGrath <roland@redhat.com> 3515da0c48c4Sopenharmony_ci 3516da0c48c4Sopenharmony_ci * ld.c (options): Fix some typos in messages. 3517da0c48c4Sopenharmony_ci * elflint.c (check_scn_group, check_group): Likewise. 3518da0c48c4Sopenharmony_ci * ldscript.y (add_id_list): Likewise. 3519da0c48c4Sopenharmony_ci * readelf.c (print_hash_info): Add xgettext:no-c-format magic comment 3520da0c48c4Sopenharmony_ci before translated string containing a literal %. 3521da0c48c4Sopenharmony_ci 3522da0c48c4Sopenharmony_ci2010-02-26 Roland McGrath <roland@redhat.com> 3523da0c48c4Sopenharmony_ci 3524da0c48c4Sopenharmony_ci * readelf.c (process_file): Don't leak an fd in failure case. 3525da0c48c4Sopenharmony_ci 3526da0c48c4Sopenharmony_ci2010-02-15 Roland McGrath <roland@redhat.com> 3527da0c48c4Sopenharmony_ci 3528da0c48c4Sopenharmony_ci * Makefile.am: Use config/eu.am for common stuff. 3529da0c48c4Sopenharmony_ci 3530da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Add a cast to avoid sign 3531da0c48c4Sopenharmony_ci mismatch in comparison. 3532da0c48c4Sopenharmony_ci 3533da0c48c4Sopenharmony_ci2010-02-02 Roland McGrath <roland@redhat.com> 3534da0c48c4Sopenharmony_ci 3535da0c48c4Sopenharmony_ci * readelf.c (print_encoding_base): Handle DW_EH_PE_absptr (zero). 3536da0c48c4Sopenharmony_ci (read_encoded): Likewise. 3537da0c48c4Sopenharmony_ci (print_debug_frame_section): Check for bogus augmentation length. 3538da0c48c4Sopenharmony_ci For P augmentation, use read_encoded, print the encoding description, 3539da0c48c4Sopenharmony_ci and use hex for unsigned values. 3540da0c48c4Sopenharmony_ci 3541da0c48c4Sopenharmony_ci2010-01-15 Roland McGrath <roland@redhat.com> 3542da0c48c4Sopenharmony_ci 3543da0c48c4Sopenharmony_ci * ar.c: Include <sys/stat.h>. 3544da0c48c4Sopenharmony_ci * elflint.c: Likewise. 3545da0c48c4Sopenharmony_ci * readelf.c: Likewise. 3546da0c48c4Sopenharmony_ci * strip.c: Likewise. 3547da0c48c4Sopenharmony_ci * unstrip.c: Likewise 3548da0c48c4Sopenharmony_ci 3549da0c48c4Sopenharmony_ci2010-01-07 Roland McGrath <roland@redhat.com> 3550da0c48c4Sopenharmony_ci 3551da0c48c4Sopenharmony_ci * readelf.c (print_ehdr): Handle PN_XNUM. 3552da0c48c4Sopenharmony_ci (phnum): New static variable. 3553da0c48c4Sopenharmony_ci (process_elf_file): Set it with elf_getphdrnum. 3554da0c48c4Sopenharmony_ci (print_phdr): Use phnum instead of EHDR->e_phnum. 3555da0c48c4Sopenharmony_ci (print_dynamic, handle_notes): Likewise. 3556da0c48c4Sopenharmony_ci (handle_relocs_rel, handle_relocs_rela): Likewise. 3557da0c48c4Sopenharmony_ci 3558da0c48c4Sopenharmony_ci * elfcmp.c (main): Use elf_getshdrnum and elf_getphdrnum. 3559da0c48c4Sopenharmony_ci 3560da0c48c4Sopenharmony_ci * elflint.c (phnum): New static variable. 3561da0c48c4Sopenharmony_ci (check_elf_header): Set it, handling PN_XNUM. 3562da0c48c4Sopenharmony_ci Use that in place of EHDR->e_phnum throughout. 3563da0c48c4Sopenharmony_ci (check_symtab, check_reloc_shdr, check_dynamic): Likewise. 3564da0c48c4Sopenharmony_ci (unknown_dependency_p, check_sections, check_program_header): Likewise. 3565da0c48c4Sopenharmony_ci 3566da0c48c4Sopenharmony_ci2010-01-05 Roland McGrath <roland@redhat.com> 3567da0c48c4Sopenharmony_ci 3568da0c48c4Sopenharmony_ci * readelf.c (dwarf_attr_string): Match DW_AT_GNU_vector and 3569da0c48c4Sopenharmony_ci DW_AT_GNU_template_name. 3570da0c48c4Sopenharmony_ci 3571da0c48c4Sopenharmony_ci2010-01-04 Roland McGrath <roland@redhat.com> 3572da0c48c4Sopenharmony_ci 3573da0c48c4Sopenharmony_ci * readelf.c (handle_notes_data): Grab NT_AUXV only for name "CORE". 3574da0c48c4Sopenharmony_ci (handle_core_note): Pass NHDR and NAME to ebl_core_note. 3575da0c48c4Sopenharmony_ci (handle_core_item): Handle .format of '\n' as \n-separated strings. 3576da0c48c4Sopenharmony_ci 3577da0c48c4Sopenharmony_ci * readelf.c (implicit_debug_sections): New variable. 3578da0c48c4Sopenharmony_ci (parse_opt): Set it instead of print_debug_sections for -a. 3579da0c48c4Sopenharmony_ci OR them together for print_debug check. 3580da0c48c4Sopenharmony_ci (print_debug): OR them together for section check. 3581da0c48c4Sopenharmony_ci 3582da0c48c4Sopenharmony_ci * readelf.c (options): Repartition into set implied by -a and others. 3583da0c48c4Sopenharmony_ci Correct -a text to match reality. 3584da0c48c4Sopenharmony_ci 3585da0c48c4Sopenharmony_ci * readelf.c (struct section_argument): Add bool member 'implicit'. 3586da0c48c4Sopenharmony_ci (parse_opt): Set it for -a cases, clear it for -x args. 3587da0c48c4Sopenharmony_ci (for_each_section_argument): Don't complain about a missing section by 3588da0c48c4Sopenharmony_ci name if it's implicit. 3589da0c48c4Sopenharmony_ci 3590da0c48c4Sopenharmony_ci2009-11-16 Roland McGrath <roland@redhat.com> 3591da0c48c4Sopenharmony_ci 3592da0c48c4Sopenharmony_ci * readelf.c (print_string_section): Punt SHT_NOBITS like empty 3593da0c48c4Sopenharmony_ci sections, just as dump_data_section already does. 3594da0c48c4Sopenharmony_ci 3595da0c48c4Sopenharmony_ci2009-09-21 Ulrich Drepper <drepper@redhat.com> 3596da0c48c4Sopenharmony_ci 3597da0c48c4Sopenharmony_ci * elflint.c (special_sections): Allow MERGE and STRINGS flags to be 3598da0c48c4Sopenharmony_ci set for .comment section. 3599da0c48c4Sopenharmony_ci Patch by Mark Wielaard <mjw@redhat.com>. 3600da0c48c4Sopenharmony_ci 3601da0c48c4Sopenharmony_ci2009-09-08 Roland McGrath <roland@redhat.com> 3602da0c48c4Sopenharmony_ci 3603da0c48c4Sopenharmony_ci * ar.c (main): Fix typo in message format. 3604da0c48c4Sopenharmony_ci 3605da0c48c4Sopenharmony_ci2009-08-21 Roland McGrath <roland@redhat.com> 3606da0c48c4Sopenharmony_ci 3607da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Use print_block only when we don't use 3608da0c48c4Sopenharmony_ci print_ops. 3609da0c48c4Sopenharmony_ci 3610da0c48c4Sopenharmony_ci2009-08-14 Roland McGrath <roland@redhat.com> 3611da0c48c4Sopenharmony_ci 3612da0c48c4Sopenharmony_ci * ar.c (do_oper_extract): Use pathconf instead of statfs. 3613da0c48c4Sopenharmony_ci 3614da0c48c4Sopenharmony_ci2009-08-01 Ulrich Drepper <drepper@redhat.com> 3615da0c48c4Sopenharmony_ci 3616da0c48c4Sopenharmony_ci * debugpred.h: Add two most const. 3617da0c48c4Sopenharmony_ci 3618da0c48c4Sopenharmony_ci2009-07-26 Mark Wielaard <mjw@redhat.com> 3619da0c48c4Sopenharmony_ci 3620da0c48c4Sopenharmony_ci * elflint.c (check_note_data): Recognize NT_GNU_GOLD_VERSION. 3621da0c48c4Sopenharmony_ci 3622da0c48c4Sopenharmony_ci2009-07-25 Mark Wielaard <mjw@redhat.com> 3623da0c48c4Sopenharmony_ci 3624da0c48c4Sopenharmony_ci * Makefile.am (addr2line_LDADD): Add $(libelf). 3625da0c48c4Sopenharmony_ci 3626da0c48c4Sopenharmony_ci2009-07-24 Roland McGrath <roland@redhat.com> 3627da0c48c4Sopenharmony_ci 3628da0c48c4Sopenharmony_ci * readelf.c (print_block): New function. 3629da0c48c4Sopenharmony_ci (print_ops): Use it. 3630da0c48c4Sopenharmony_ci (attr_callback): Use it for DW_FORM_block* forms. 3631da0c48c4Sopenharmony_ci 3632da0c48c4Sopenharmony_ci2009-07-20 Mark Wielaard <mjw@redhat.com> 3633da0c48c4Sopenharmony_ci 3634da0c48c4Sopenharmony_ci * readelf.c (print_ops): Add handling of DW_OP_implicit_value 3635da0c48c4Sopenharmony_ci and DW_OP_stack_value. 3636da0c48c4Sopenharmony_ci 3637da0c48c4Sopenharmony_ci2009-07-14 Ulrich Drepper <drepper@redhat.com> 3638da0c48c4Sopenharmony_ci 3639da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Allow Linux ABI. 3640da0c48c4Sopenharmony_ci (check_symtab): Handle STB_GNU_UNIQUE. 3641da0c48c4Sopenharmony_ci 3642da0c48c4Sopenharmony_ci2009-07-08 Mark Wielaard <mjw@redhat.com> 3643da0c48c4Sopenharmony_ci 3644da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_Form constants for 3645da0c48c4Sopenharmony_ci DW_AT_data_member_location. 3646da0c48c4Sopenharmony_ci 3647da0c48c4Sopenharmony_ci2009-07-06 Roland McGrath <roland@redhat.com> 3648da0c48c4Sopenharmony_ci 3649da0c48c4Sopenharmony_ci * readelf.c (register_info): New function. Handle unknown register #s. 3650da0c48c4Sopenharmony_ci (print_cfa_program): Use it. 3651da0c48c4Sopenharmony_ci (handle_core_register, handle_core_registers): Likewise. 3652da0c48c4Sopenharmony_ci 3653da0c48c4Sopenharmony_ci2009-06-28 Roland McGrath <roland@redhat.com> 3654da0c48c4Sopenharmony_ci 3655da0c48c4Sopenharmony_ci * readelf.c (print_address_names): New static variable. 3656da0c48c4Sopenharmony_ci (options, parse_opt): Grok -N/--numeric-addresses to clear it. 3657da0c48c4Sopenharmony_ci (format_dwarf_addr): Don't look up name if !print_address_names. 3658da0c48c4Sopenharmony_ci 3659da0c48c4Sopenharmony_ci2009-06-13 Ulrich Drepper <drepper@redhat.com> 3660da0c48c4Sopenharmony_ci 3661da0c48c4Sopenharmony_ci * ldgeneric.c: Don't use deprecated libelf functions. 3662da0c48c4Sopenharmony_ci * nm.c: Likewise. 3663da0c48c4Sopenharmony_ci * objdump.c: Likewise. 3664da0c48c4Sopenharmony_ci * readelf.c: Likewise. 3665da0c48c4Sopenharmony_ci * size.c: Likewise. 3666da0c48c4Sopenharmony_ci * strip.c: Likewise. 3667da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 3668da0c48c4Sopenharmony_ci * ld.h: Fix up comment. 3669da0c48c4Sopenharmony_ci 3670da0c48c4Sopenharmony_ci2009-06-01 Ulrich Drepper <drepper@redhat.com> 3671da0c48c4Sopenharmony_ci 3672da0c48c4Sopenharmony_ci * readelf.c (print_relocs): Expect ELF header argument and pass on 3673da0c48c4Sopenharmony_ci to handle_relocs_rel* functions. Adjust caller. 3674da0c48c4Sopenharmony_ci (handle_relocs_rel): Add ELF header argument. Add special case for 3675da0c48c4Sopenharmony_ci the IRELATIVE relocations in statically linked executables. 3676da0c48c4Sopenharmony_ci (handle_relocs_rela): Likewise. 3677da0c48c4Sopenharmony_ci 3678da0c48c4Sopenharmony_ci2009-04-29 Ulrich Drepper <drepper@redhat.com> 3679da0c48c4Sopenharmony_ci 3680da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Add tests of st_other field. 3681da0c48c4Sopenharmony_ci 3682da0c48c4Sopenharmony_ci2009-04-23 Ulrich Drepper <drepper@redhat.com> 3683da0c48c4Sopenharmony_ci 3684da0c48c4Sopenharmony_ci * Makefile [BUILD_STATIC] (libdw): Add $(zip_LIBS). 3685da0c48c4Sopenharmony_ci 3686da0c48c4Sopenharmony_ci2009-04-20 Roland McGrath <roland@redhat.com> 3687da0c48c4Sopenharmony_ci 3688da0c48c4Sopenharmony_ci * addr2line.c (print_dwarf_function): Honor -s and -A for file names 3689da0c48c4Sopenharmony_ci of inline call sites. 3690da0c48c4Sopenharmony_ci 3691da0c48c4Sopenharmony_ci * addr2line.c (just_section): New variable. 3692da0c48c4Sopenharmony_ci (adjust_to_section): New function, broken out of ... 3693da0c48c4Sopenharmony_ci (handle_address): ... here. 3694da0c48c4Sopenharmony_ci (options, parse_opt): Add -j/--section=NAME to set it. 3695da0c48c4Sopenharmony_ci 3696da0c48c4Sopenharmony_ci2009-04-15 Roland McGrath <roland@redhat.com> 3697da0c48c4Sopenharmony_ci 3698da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Check for DW_CIE_ID_64 in 3699da0c48c4Sopenharmony_ci 64-bit format header, DW_CIE_ID_32 in 32-bit format header. 3700da0c48c4Sopenharmony_ci 3701da0c48c4Sopenharmony_ci2009-04-14 Roland McGrath <roland@redhat.com> 3702da0c48c4Sopenharmony_ci 3703da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Treat SHT_ARM_ATTRIBUTES on EM_ARM 3704da0c48c4Sopenharmony_ci like SHT_GNU_ATTRIBUTES. 3705da0c48c4Sopenharmony_ci 3706da0c48c4Sopenharmony_ci * readelf.c (handle_core_registers): Fix error message. 3707da0c48c4Sopenharmony_ci 3708da0c48c4Sopenharmony_ci * strip.c (handle_elf: check_preserved): Don't note any change when 3709da0c48c4Sopenharmony_ci .debug_data is already filled from a previous pass. 3710da0c48c4Sopenharmony_ci 3711da0c48c4Sopenharmony_ci2009-02-05 Ulrich Drepper <drepper@redhat.com> 3712da0c48c4Sopenharmony_ci 3713da0c48c4Sopenharmony_ci * objdump.c (show_relocs_x): Minor cleanups. 3714da0c48c4Sopenharmony_ci 3715da0c48c4Sopenharmony_ci * readelf.c (print_cfa_program): Correct a few labels. 3716da0c48c4Sopenharmony_ci Print first DW_CFA_expression and DW_CFA_val_expression parameter 3717da0c48c4Sopenharmony_ci as register. 3718da0c48c4Sopenharmony_ci 3719da0c48c4Sopenharmony_ci2009-02-01 Ulrich Drepper <drepper@redhat.com> 3720da0c48c4Sopenharmony_ci 3721da0c48c4Sopenharmony_ci * objdump.c (show_relocs_rel, show_relocs_rela): Split common parts 3722da0c48c4Sopenharmony_ci into ... 3723da0c48c4Sopenharmony_ci (show_relocs_x): ...here. New function. 3724da0c48c4Sopenharmony_ci (show_relocs): Better spacing in output. 3725da0c48c4Sopenharmony_ci 3726da0c48c4Sopenharmony_ci * objdump.c (show_relocs_rela): Show offsets as signed values. 3727da0c48c4Sopenharmony_ci 3728da0c48c4Sopenharmony_ci * ar.c (main): Fix recognition of invalid modes for a, b, i modifiers. 3729da0c48c4Sopenharmony_ci Improve some error messages. 3730da0c48c4Sopenharmony_ci Use program_invocation_short_name instead of AR macro. 3731da0c48c4Sopenharmony_ci * Makefile.am (CFLAGS_ar): Remove. 3732da0c48c4Sopenharmony_ci * elflint.c (parse_opt): ARGP_HELP_EXIT_ERR does nothing for argp_help. 3733da0c48c4Sopenharmony_ci * objdump.c (parse_opt): Likewise. 3734da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Likewise. 3735da0c48c4Sopenharmony_ci 3736da0c48c4Sopenharmony_ci2009-01-27 Roland McGrath <roland@redhat.com> 3737da0c48c4Sopenharmony_ci 3738da0c48c4Sopenharmony_ci * readelf.c (print_ops): Notice short length, don't overrun buffer 3739da0c48c4Sopenharmony_ci (still need to fix LEB128). 3740da0c48c4Sopenharmony_ci 3741da0c48c4Sopenharmony_ci * readelf.c (print_ops): Fix DW_OP_call[24] decoding. 3742da0c48c4Sopenharmony_ci 3743da0c48c4Sopenharmony_ci * readelf.c (print_ops): Print (empty)\n when LEN == 0. 3744da0c48c4Sopenharmony_ci 3745da0c48c4Sopenharmony_ci2009-01-24 Ulrich Drepper <drepper@redhat.com> 3746da0c48c4Sopenharmony_ci 3747da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Fix computation of vma_base 3748da0c48c4Sopenharmony_ci for PC-relative mode. 3749da0c48c4Sopenharmony_ci 3750da0c48c4Sopenharmony_ci2009-01-23 Ulrich Drepper <drepper@redhat.com> 3751da0c48c4Sopenharmony_ci 3752da0c48c4Sopenharmony_ci * size.c (process_file): When handling archive, close file descriptor 3753da0c48c4Sopenharmony_ci here. For unknown file format also close file descriptor. 3754da0c48c4Sopenharmony_ci (handle_ar): Don't close file descriptor here. 3755da0c48c4Sopenharmony_ci 3756da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Move code to add to dump_data_sections and 3757da0c48c4Sopenharmony_ci string_sections list in local function add_dump_section. Adjust 'x' 3758da0c48c4Sopenharmony_ci key handling. For 'a' key add .strtab, .dynstr, and .comment section 3759da0c48c4Sopenharmony_ci to string_sections list. 3760da0c48c4Sopenharmony_ci 3761da0c48c4Sopenharmony_ci2009-01-22 Roland McGrath <roland@redhat.com> 3762da0c48c4Sopenharmony_ci 3763da0c48c4Sopenharmony_ci * readelf.c (print_phdr): Don't print section mapping when no sections. 3764da0c48c4Sopenharmony_ci 3765da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Pass -Wno-format for *_no_Wformat. 3766da0c48c4Sopenharmony_ci 3767da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Initialize IS_SIGNED to false 3768da0c48c4Sopenharmony_ci and reset it only for the 'true' cases. 3769da0c48c4Sopenharmony_ci 3770da0c48c4Sopenharmony_ci * Makefile.am (addr2line_no_Wformat): New variable. 3771da0c48c4Sopenharmony_ci 3772da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Use t instead of j formats 3773da0c48c4Sopenharmony_ci for ptrdiff_t OFFSET. 3774da0c48c4Sopenharmony_ci 3775da0c48c4Sopenharmony_ci2009-01-21 Ulrich Drepper <drepper@redhat.com> 3776da0c48c4Sopenharmony_ci 3777da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section 3778da0c48c4Sopenharmony_ci test. Handle debuginfo files. 3779da0c48c4Sopenharmony_ci (check_exception_data): First sanity test. 3780da0c48c4Sopenharmony_ci 3781da0c48c4Sopenharmony_ci2009-01-17 Ulrich Drepper <drepper@redhat.com> 3782da0c48c4Sopenharmony_ci 3783da0c48c4Sopenharmony_ci * readelf.c (print_debug_exception_table): Show target of ar_disp 3784da0c48c4Sopenharmony_ci field. 3785da0c48c4Sopenharmony_ci 3786da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Add most consistency checks for 3787da0c48c4Sopenharmony_ci PT_GNU_EH_FRAME entry. 3788da0c48c4Sopenharmony_ci 3789da0c48c4Sopenharmony_ci * addr2line.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and 3790da0c48c4Sopenharmony_ci ARGP_PROGRAM_BUG_ADDRESS_DEF. 3791da0c48c4Sopenharmony_ci * ar.c: Likewise. 3792da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 3793da0c48c4Sopenharmony_ci * elflint.c: Likewise. 3794da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 3795da0c48c4Sopenharmony_ci * ld.c: Likewise. 3796da0c48c4Sopenharmony_ci * nm.c: Likewise. 3797da0c48c4Sopenharmony_ci * objdump.c: Likewise. 3798da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 3799da0c48c4Sopenharmony_ci * readelf.c: Likewise. 3800da0c48c4Sopenharmony_ci 3801da0c48c4Sopenharmony_ci * size.c: Likewise. 3802da0c48c4Sopenharmony_ci * strings.c: Likewise. 3803da0c48c4Sopenharmony_ci * strip.c: Likewise. 3804da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 3805da0c48c4Sopenharmony_ci 3806da0c48c4Sopenharmony_ci2009-01-16 Ulrich Drepper <drepper@redhat.com> 3807da0c48c4Sopenharmony_ci 3808da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Check that PT_GNU_EH_FRAME entry 3809da0c48c4Sopenharmony_ci matches .eh_frame_hdr section, if it is available. Also check that 3810da0c48c4Sopenharmony_ci the segment is allocated, not writable, not executable. 3811da0c48c4Sopenharmony_ci 3812da0c48c4Sopenharmony_ci * readelf.c: Add -e option. Dump exception and unwind related 3813da0c48c4Sopenharmony_ci sections. Add -e to -a. 3814da0c48c4Sopenharmony_ci (print_encoding_base): Handle DW_EH_PE_omit. 3815da0c48c4Sopenharmony_ci (print_debug_exception_table): Beginning of support. 3816da0c48c4Sopenharmony_ci (print_debug): Hook up print_debug_exception_table for 3817da0c48c4Sopenharmony_ci .gcc_except_table sections. 3818da0c48c4Sopenharmony_ci 3819da0c48c4Sopenharmony_ci * readelf.c (print_debug_frame_section): Some fixes for last change. 3820da0c48c4Sopenharmony_ci 3821da0c48c4Sopenharmony_ci2009-01-15 Ulrich Drepper <drepper@redhat.com> 3822da0c48c4Sopenharmony_ci 3823da0c48c4Sopenharmony_ci * readelf.c (print_encoding): Now a toplevel function. 3824da0c48c4Sopenharmony_ci (print_relinfo): Likewise. 3825da0c48c4Sopenharmony_ci (print_encoding_base): Broken out of print_debug_frame_section. 3826da0c48c4Sopenharmony_ci (print_debug_frame_section): Print different header for .eh_frame 3827da0c48c4Sopenharmony_ci sections. Fix recognition of matching CIEs in .debug_frame sections. 3828da0c48c4Sopenharmony_ci Print absolute offset for PC-relative FDE locations. Don't print 3829da0c48c4Sopenharmony_ci table header for FDEs if the table is empty. 3830da0c48c4Sopenharmony_ci (read_encoded): New function. 3831da0c48c4Sopenharmony_ci (print_debug_frame_hdr_section): New function. 3832da0c48c4Sopenharmony_ci (print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr 3833da0c48c4Sopenharmony_ci sections. 3834da0c48c4Sopenharmony_ci 3835da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rel): Print section number. 3836da0c48c4Sopenharmony_ci (print_debug_abbrev_section): Likewise. 3837da0c48c4Sopenharmony_ci (print_debug_aranges_section): Likewise. 3838da0c48c4Sopenharmony_ci (print_debug_ranges_section): Likewise. 3839da0c48c4Sopenharmony_ci (print_debug_info_section): Likewise. 3840da0c48c4Sopenharmony_ci (print_debug_line_section): Likewise. 3841da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 3842da0c48c4Sopenharmony_ci (print_debug_macinfo_section): Likewise. 3843da0c48c4Sopenharmony_ci (print_debug_pubnames_section): Likewise. 3844da0c48c4Sopenharmony_ci (print_debug_str_section): Likewise. 3845da0c48c4Sopenharmony_ci 3846da0c48c4Sopenharmony_ci2009-01-10 Ulrich Drepper <drepper@redhat.com> 3847da0c48c4Sopenharmony_ci 3848da0c48c4Sopenharmony_ci * strings.c (read_block): Fix typo in error message string. 3849da0c48c4Sopenharmony_ci 3850da0c48c4Sopenharmony_ci2009-01-07 Ulrich Drepper <drepper@redhat.com> 3851da0c48c4Sopenharmony_ci 3852da0c48c4Sopenharmony_ci * ld.c (ld_new_searchdir): Fix adding to search path list. 3853da0c48c4Sopenharmony_ci 3854da0c48c4Sopenharmony_ci2009-01-06 Ulrich Drepper <drepper@redhat.com> 3855da0c48c4Sopenharmony_ci 3856da0c48c4Sopenharmony_ci * readelf.c: Implement call frame debug section dumping. 3857da0c48c4Sopenharmony_ci 3858da0c48c4Sopenharmony_ci2009-01-05 Roland McGrath <roland@redhat.com> 3859da0c48c4Sopenharmony_ci 3860da0c48c4Sopenharmony_ci * elfcmp.c: Exit with status 2 for errors (like cmp, diff, grep). 3861da0c48c4Sopenharmony_ci Status 1 (aka EXIT_FAILURE) is only for completed OK but not equal. 3862da0c48c4Sopenharmony_ci 3863da0c48c4Sopenharmony_ci2009-01-01 Ulrich Drepper <drepper@redhat.com> 3864da0c48c4Sopenharmony_ci 3865da0c48c4Sopenharmony_ci * addr2line.c: Update copyright year. 3866da0c48c4Sopenharmony_ci * ar.c: Likewise. 3867da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 3868da0c48c4Sopenharmony_ci * elflint.c: Likewise. 3869da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 3870da0c48c4Sopenharmony_ci * ld.c: Likewise. 3871da0c48c4Sopenharmony_ci * nm.c: Likewise. 3872da0c48c4Sopenharmony_ci * objdump.c: Likewise. 3873da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 3874da0c48c4Sopenharmony_ci * readelf.c: Likewise. 3875da0c48c4Sopenharmony_ci * size.c: Likewise. 3876da0c48c4Sopenharmony_ci * strings.c: Likewise. 3877da0c48c4Sopenharmony_ci * strip.c: Likewise. 3878da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 3879da0c48c4Sopenharmony_ci 3880da0c48c4Sopenharmony_ci2008-12-11 Roland McGrath <roland@redhat.com> 3881da0c48c4Sopenharmony_ci 3882da0c48c4Sopenharmony_ci * nm.c (sym_name): New function. 3883da0c48c4Sopenharmony_ci (show_symbols_sysv): Use it in place of elf_strptr. 3884da0c48c4Sopenharmony_ci (show_symbols_bsd, show_symbols_posix): Likewise. 3885da0c48c4Sopenharmony_ci Fixes RHBZ#476136. 3886da0c48c4Sopenharmony_ci 3887da0c48c4Sopenharmony_ci * nm.c (show_symbols_sysv): Use an alloca'd backup section name when 3888da0c48c4Sopenharmony_ci elf_strptr fails. 3889da0c48c4Sopenharmony_ci 3890da0c48c4Sopenharmony_ci2008-12-02 Roland McGrath <roland@redhat.com> 3891da0c48c4Sopenharmony_ci 3892da0c48c4Sopenharmony_ci * readelf.c (count_dwflmod, process_file): Don't presume encoding of 3893da0c48c4Sopenharmony_ci nonzero OFFSET argument to dwfl_getmodules. 3894da0c48c4Sopenharmony_ci 3895da0c48c4Sopenharmony_ci2008-08-07 Roland McGrath <roland@redhat.com> 3896da0c48c4Sopenharmony_ci 3897da0c48c4Sopenharmony_ci * addr2line.c (main): Pass string to handle_address. 3898da0c48c4Sopenharmony_ci (see_one_module): New function, subroutine of handle_address. 3899da0c48c4Sopenharmony_ci (find_symbol): Likewise. 3900da0c48c4Sopenharmony_ci (handle_address): Take string argument rather than address. 3901da0c48c4Sopenharmony_ci Convert plain number, or handle strings like "(section)+offset" 3902da0c48c4Sopenharmony_ci or "symbol+offset". 3903da0c48c4Sopenharmony_ci 3904da0c48c4Sopenharmony_ci2008-08-01 Roland McGrath <roland@redhat.com> 3905da0c48c4Sopenharmony_ci 3906da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset. 3907da0c48c4Sopenharmony_ci For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string. 3908da0c48c4Sopenharmony_ci 3909da0c48c4Sopenharmony_ci * readelf.c (convert): Take new argument SIZE. 3910da0c48c4Sopenharmony_ci (handle_core_register, handle_core_item): Update callers. 3911da0c48c4Sopenharmony_ci (handle_core_item): Take new arg REPEATED_SIZE. 3912da0c48c4Sopenharmony_ci (handle_core_items): Special case for a singleton item, 3913da0c48c4Sopenharmony_ci let handle_core_item handle repeats if it wants to. 3914da0c48c4Sopenharmony_ci 3915da0c48c4Sopenharmony_ci * readelf.c (handle_core_items): Give abridged output 3916da0c48c4Sopenharmony_ci for identical groups repeated more than twice. 3917da0c48c4Sopenharmony_ci 3918da0c48c4Sopenharmony_ci2008-07-04 Roland McGrath <roland@redhat.com> 3919da0c48c4Sopenharmony_ci 3920da0c48c4Sopenharmony_ci * readelf.c (handle_core_items): Handle ELF_T_ADDR. 3921da0c48c4Sopenharmony_ci 3922da0c48c4Sopenharmony_ci2008-04-10 Roland McGrath <roland@redhat.com> 3923da0c48c4Sopenharmony_ci 3924da0c48c4Sopenharmony_ci * strip.c (handle_elf): Don't keep sections that kept symbol tables 3925da0c48c4Sopenharmony_ci refer to. Instead, just be sure to preserve the original symbol 3926da0c48c4Sopenharmony_ci table in the debug file so those symbols go with their sections and 3927da0c48c4Sopenharmony_ci can be elided from the stripped version of the symbol table. 3928da0c48c4Sopenharmony_ci 3929da0c48c4Sopenharmony_ci * strip.c (handle_elf): When a discarded section kept in the debug 3930da0c48c4Sopenharmony_ci file refers to a nondiscard section via sh_link/sh_info, preserve 3931da0c48c4Sopenharmony_ci that nondiscarded section unmodified in the debug file as well. 3932da0c48c4Sopenharmony_ci Skip adjustment of discarded sections symbol table references when 3933da0c48c4Sopenharmony_ci that symbol table is copied in this way. 3934da0c48c4Sopenharmony_ci 3935da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Don't crash from missing symbol names 3936da0c48c4Sopenharmony_ci after diagnosing bogus strtab. 3937da0c48c4Sopenharmony_ci 3938da0c48c4Sopenharmony_ci * strip.c (handle_elf): Cosmetic cleanup in special section contents 3939da0c48c4Sopenharmony_ci adjustment for symtab changes. 3940da0c48c4Sopenharmony_ci 3941da0c48c4Sopenharmony_ci2008-03-31 Roland McGrath <roland@redhat.com> 3942da0c48c4Sopenharmony_ci 3943da0c48c4Sopenharmony_ci * elflint.c (check_sections): Add checks on SHF_EXECINSTR sections: 3944da0c48c4Sopenharmony_ci must be SHT_PROGBITS, must not be SHF_WRITE. Let backend hook 3945da0c48c4Sopenharmony_ci excuse a special section. 3946da0c48c4Sopenharmony_ci 3947da0c48c4Sopenharmony_ci2008-03-27 Roland McGrath <roland@redhat.com> 3948da0c48c4Sopenharmony_ci 3949da0c48c4Sopenharmony_ci * elflint.c (check_sections): Check that executability and writability 3950da0c48c4Sopenharmony_ci of sections is reflected in segment p_flags. 3951da0c48c4Sopenharmony_ci 3952da0c48c4Sopenharmony_ci2008-03-26 Roland McGrath <roland@redhat.com> 3953da0c48c4Sopenharmony_ci 3954da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags 3955da0c48c4Sopenharmony_ci that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really 3956da0c48c4Sopenharmony_ci is valid in RELRO. 3957da0c48c4Sopenharmony_ci 3958da0c48c4Sopenharmony_ci2008-02-29 Roland McGrath <roland@redhat.com> 3959da0c48c4Sopenharmony_ci 3960da0c48c4Sopenharmony_ci * readelf.c (print_attributes): Add a cast. 3961da0c48c4Sopenharmony_ci * elflint.c (check_attributes): Likewise. 3962da0c48c4Sopenharmony_ci 3963da0c48c4Sopenharmony_ci * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity 3964da0c48c4Sopenharmony_ci with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition. 3965da0c48c4Sopenharmony_ci (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise. 3966da0c48c4Sopenharmony_ci 3967da0c48c4Sopenharmony_ci2008-02-03 Ulrich Drepper <drepper@redhat.com> 3968da0c48c4Sopenharmony_ci 3969da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD 3970da0c48c4Sopenharmony_ci when linked into executable. 3971da0c48c4Sopenharmony_ci (elf_i386_create_relocations): Likewise. 3972da0c48c4Sopenharmony_ci 3973da0c48c4Sopenharmony_ci2008-02-20 Roland McGrath <roland@redhat.com> 3974da0c48c4Sopenharmony_ci 3975da0c48c4Sopenharmony_ci * readelf.c (print_attributes): New function. 3976da0c48c4Sopenharmony_ci (process_elf_file): Call it under -A. 3977da0c48c4Sopenharmony_ci 3978da0c48c4Sopenharmony_ci * elflint.c (check_attributes): Implement it for real. 3979da0c48c4Sopenharmony_ci 3980da0c48c4Sopenharmony_ci2008-02-19 Roland McGrath <roland@redhat.com> 3981da0c48c4Sopenharmony_ci 3982da0c48c4Sopenharmony_ci * elflint.c (special_sections): Handle .gnu.attributes section. 3983da0c48c4Sopenharmony_ci (check_sections): Likewise. 3984da0c48c4Sopenharmony_ci (check_attributes): New function. 3985da0c48c4Sopenharmony_ci 3986da0c48c4Sopenharmony_ci2008-02-10 Roland McGrath <roland@redhat.com> 3987da0c48c4Sopenharmony_ci 3988da0c48c4Sopenharmony_ci * elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC 3989da0c48c4Sopenharmony_ci sections and ET_REL files. 3990da0c48c4Sopenharmony_ci 3991da0c48c4Sopenharmony_ci2008-02-02 Ulrich Drepper <drepper@redhat.com> 3992da0c48c4Sopenharmony_ci 3993da0c48c4Sopenharmony_ci * elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections. 3994da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32 3995da0c48c4Sopenharmony_ci and R_386_TLS_LE. 3996da0c48c4Sopenharmony_ci (elf_i386_create_relocations): Likewise. 3997da0c48c4Sopenharmony_ci * ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb 3998da0c48c4Sopenharmony_ci elements. 3999da0c48c4Sopenharmony_ci * ldgeneric.c (add_section): If TLS section is used, set need_tls flag. 4000da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Add PT_TLS entry to program header. 4001da0c48c4Sopenharmony_ci Fix generation of PT_GNU_STACK entry. 4002da0c48c4Sopenharmony_ci 4003da0c48c4Sopenharmony_ci2008-02-01 Ulrich Drepper <drepper@redhat.com> 4004da0c48c4Sopenharmony_ci 4005da0c48c4Sopenharmony_ci * ld.c (replace_args): Prevent loop over replacements if the parameter 4006da0c48c4Sopenharmony_ci is only two characters long. 4007da0c48c4Sopenharmony_ci 4008da0c48c4Sopenharmony_ci * ld.c: Recognize sha1 argument for --build-id parameter. 4009da0c48c4Sopenharmony_ci * ldgeneric.c (create_build_id_section): Handle sha1. 4010da0c48c4Sopenharmony_ci (compute_hash_sum): New function. Broken out of compute_build_id. 4011da0c48c4Sopenharmony_ci Take hash function and context as parameters. 4012da0c48c4Sopenharmony_ci (compute_build_id): Use compute_hash_sum for md5 and the new sha1 4013da0c48c4Sopenharmony_ci implementation. 4014da0c48c4Sopenharmony_ci 4015da0c48c4Sopenharmony_ci2008-01-31 Ulrich Drepper <drepper@redhat.com> 4016da0c48c4Sopenharmony_ci 4017da0c48c4Sopenharmony_ci * elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections. 4018da0c48c4Sopenharmony_ci * ld.c: Recognize --build-id command line parameter. 4019da0c48c4Sopenharmony_ci * ld.h: Define scn_dot_note_gnu_build_id. 4020da0c48c4Sopenharmony_ci (struct ld_state): Add build_id and buildidscnidx elements. 4021da0c48c4Sopenharmony_ci * ldgeneric.c: Implement --build-id command line parameter. 4022da0c48c4Sopenharmony_ci * ldlex.l (ID): Recognize - as valid character after the first one. 4023da0c48c4Sopenharmony_ci 4024da0c48c4Sopenharmony_ci2008-01-29 Ulrich Drepper <drepper@redhat.com> 4025da0c48c4Sopenharmony_ci 4026da0c48c4Sopenharmony_ci * ld.c (replace_args): New function. 4027da0c48c4Sopenharmony_ci (main): Use it to rewrite old-style parameters. 4028da0c48c4Sopenharmony_ci 4029da0c48c4Sopenharmony_ci * elf32-i386.script: Add .gnu.hash section. 4030da0c48c4Sopenharmony_ci * ldgeneric.c (optimal_bucket_size): A tiny bit more efficient. 4031da0c48c4Sopenharmony_ci (fillin_special_symbol): Initialize st_size. 4032da0c48c4Sopenharmony_ci (sortfct_hashval): New function. 4033da0c48c4Sopenharmony_ci (create_gnu_hash): New function. 4034da0c48c4Sopenharmony_ci (create_hash): New function. 4035da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Use the new functions to create the 4036da0c48c4Sopenharmony_ci hash tables. 4037da0c48c4Sopenharmony_ci 4038da0c48c4Sopenharmony_ci * elflint.c (check_gnu_hash): Fix index value printed in error message. 4039da0c48c4Sopenharmony_ci 4040da0c48c4Sopenharmony_ci2008-01-24 Ulrich Drepper <drepper@redhat.com> 4041da0c48c4Sopenharmony_ci 4042da0c48c4Sopenharmony_ci * elflint.c (check_group): Check that signature symbol for section 4043da0c48c4Sopenharmony_ci group is not an empty string. 4044da0c48c4Sopenharmony_ci * ldgeneric.c: Remove magic assignment of indices in the dynsym 4045da0c48c4Sopenharmony_ci section. Start implementation of --hash-style. 4046da0c48c4Sopenharmony_ci * i386_ld.c: Likewise. 4047da0c48c4Sopenharmony_ci * ld.c: Recognize --hash-style. 4048da0c48c4Sopenharmony_ci * ld.h (struct scninfo): Add comdat_group. 4049da0c48c4Sopenharmony_ci Add additional parameter to finalize_plt callback. 4050da0c48c4Sopenharmony_ci 4051da0c48c4Sopenharmony_ci2008-01-22 Ulrich Drepper <drepper@redhat.com> 4052da0c48c4Sopenharmony_ci 4053da0c48c4Sopenharmony_ci * ld.h (struct callbacks): Add initialize_gotplt. 4054da0c48c4Sopenharmony_ci (struct scnhead): Add scn_dot_gotplt. 4055da0c48c4Sopenharmony_ci (struct ld_state): Add gotpltscnidx. 4056da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_initialize_plt): Minor optimization. 4057da0c48c4Sopenharmony_ci (elf_i386_initialize_pltrel): Likewise. 4058da0c48c4Sopenharmony_ci (elf_i386_initialize_got): There is now a separate .got.plt, so 4059da0c48c4Sopenharmony_ci don't do the PLT-related work here. Initialize d_type. 4060da0c48c4Sopenharmony_ci (elf_i386_initialize_gotplt): New function. 4061da0c48c4Sopenharmony_ci (elf_i386_plt0): Use ud2a after indirect jump. 4062da0c48c4Sopenharmony_ci (elf_i386_pic_plt0_entry): Likewise. 4063da0c48c4Sopenharmony_ci (elf_i386_finalize_plt): Reference now .got.plt. 4064da0c48c4Sopenharmony_ci (elf_i386_count_relocations): For GOT entries which need no relocation 4065da0c48c4Sopenharmony_ci don't bump nrel_got. 4066da0c48c4Sopenharmony_ci (elf_i386_create_relocations): Also get .got.plt. Rewrite R-386_GOT32 4067da0c48c4Sopenharmony_ci handling for split .got/.got.plt. 4068da0c48c4Sopenharmony_ci (elf_i386_ld_init): Initialize callbacks.initialize_gotplt. 4069da0c48c4Sopenharmony_ci * elf32-i386.script: Sort sections for security. There are no .got 4070da0c48c4Sopenharmony_ci input sections. Add .got.plt. 4071da0c48c4Sopenharmony_ci * ldgeneric.c (ld_generic_generate_sections): Add .got.plt section. 4072da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Initialize .got.plt section. 4073da0c48c4Sopenharmony_ci Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT. 4074da0c48c4Sopenharmony_ci 4075da0c48c4Sopenharmony_ci2008-01-19 Ulrich Drepper <drepper@redhat.com> 4076da0c48c4Sopenharmony_ci 4077da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined 4078da0c48c4Sopenharmony_ci symbols are not carried over into statically linked output files. 4079da0c48c4Sopenharmony_ci Add dummy entries for more TLS relocations. 4080da0c48c4Sopenharmony_ci 4081da0c48c4Sopenharmony_ci * ld.c (options): Add long names for -( and -). 4082da0c48c4Sopenharmony_ci 4083da0c48c4Sopenharmony_ci * ldgeneric.c (check_definition): For newly found definitions don't 4084da0c48c4Sopenharmony_ci mark section as used if symbol is absolute. 4085da0c48c4Sopenharmony_ci (extract_from_archive): Only assign archive sequence number the first 4086da0c48c4Sopenharmony_ci time the archive is handled. Update ld_state.last_archive_used 4087da0c48c4Sopenharmony_ci if any symbol was used. Remove nround variable. 4088da0c48c4Sopenharmony_ci (file_process2): When using symbol from an archive, update 4089da0c48c4Sopenharmony_ci ld_state.group_start_archive, ld_state.archives, and 4090da0c48c4Sopenharmony_ci ld_state.tailarchives. 4091da0c48c4Sopenharmony_ci (ld_generic_file_process): If group is not handled anymore, after 4092da0c48c4Sopenharmony_ci freeing ELF handles for the archives, clear ld_state.archives and 4093da0c48c4Sopenharmony_ci *nextp. Fix wrong logic in recognizing first iteration of group 4094da0c48c4Sopenharmony_ci loop. When clearing flags, also clear ld_state.group_start_archive. 4095da0c48c4Sopenharmony_ci 4096da0c48c4Sopenharmony_ci2008-01-11 Ulrich Drepper <drepper@redhat.com> 4097da0c48c4Sopenharmony_ci 4098da0c48c4Sopenharmony_ci * objdump.c (show_disasm): Adjust disassembler format string for 4099da0c48c4Sopenharmony_ci removal of %e. 4100da0c48c4Sopenharmony_ci 4101da0c48c4Sopenharmony_ci2008-01-04 Roland McGrath <roland@redhat.com> 4102da0c48c4Sopenharmony_ci 4103da0c48c4Sopenharmony_ci * readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero, 4104da0c48c4Sopenharmony_ci a size greater than the items cover means multiple sets of items. 4105da0c48c4Sopenharmony_ci (handle_core_note): Update caller. 4106da0c48c4Sopenharmony_ci 4107da0c48c4Sopenharmony_ci2008-01-04 Roland McGrath <roland@redhat.com> 4108da0c48c4Sopenharmony_ci 4109da0c48c4Sopenharmony_ci * strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning. 4110da0c48c4Sopenharmony_ci 4111da0c48c4Sopenharmony_ci2008-01-03 Roland McGrath <roland@redhat.com> 4112da0c48c4Sopenharmony_ci 4113da0c48c4Sopenharmony_ci * ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)). 4114da0c48c4Sopenharmony_ci 4115da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Remove duplicate initializer. 4116da0c48c4Sopenharmony_ci 4117da0c48c4Sopenharmony_ci2008-01-02 Ulrich Drepper <drepper@redhat.com> 4118da0c48c4Sopenharmony_ci 4119da0c48c4Sopenharmony_ci * addr2line.c: Update copyright year. 4120da0c48c4Sopenharmony_ci * ar.c: Likewise. 4121da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 4122da0c48c4Sopenharmony_ci * elflint.c: Likewise. 4123da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 4124da0c48c4Sopenharmony_ci * ld.c: Likewise. 4125da0c48c4Sopenharmony_ci * nm.c: Likewise. 4126da0c48c4Sopenharmony_ci * objdump.c: Likewise. 4127da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4128da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4129da0c48c4Sopenharmony_ci * size.c: Likewise. 4130da0c48c4Sopenharmony_ci * strings.c: Likewise. 4131da0c48c4Sopenharmony_ci * strip.c: Likewise. 4132da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 4133da0c48c4Sopenharmony_ci 4134da0c48c4Sopenharmony_ci2007-12-30 Ulrich Drepper <drepper@redhat.com> 4135da0c48c4Sopenharmony_ci 4136da0c48c4Sopenharmony_ci * objdump (show_disasm): Use %e after third parameter. 4137da0c48c4Sopenharmony_ci 4138da0c48c4Sopenharmony_ci2007-12-21 Ulrich Drepper <drepper@redhat.com> 4139da0c48c4Sopenharmony_ci 4140da0c48c4Sopenharmony_ci * strip.c: Fix wrong parenthesis in a few branch predictions. 4141da0c48c4Sopenharmony_ci * strings.c: Likewise. 4142da0c48c4Sopenharmony_ci 4143da0c48c4Sopenharmony_ci2007-12-20 Ulrich Drepper <drepper@redhat.com> 4144da0c48c4Sopenharmony_ci 4145da0c48c4Sopenharmony_ci * Makefile.am (DEFS): Add DEBUGPRED. 4146da0c48c4Sopenharmony_ci * addr2line.c: Include debugpred.h. 4147da0c48c4Sopenharmony_ci * ar.c: Likewise. 4148da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 4149da0c48c4Sopenharmony_ci * elflint.c: Likewise. 4150da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 4151da0c48c4Sopenharmony_ci * nm.c: Likewise. 4152da0c48c4Sopenharmony_ci * objdump.c: Likewise. 4153da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4154da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4155da0c48c4Sopenharmony_ci * size.c: Likewise. 4156da0c48c4Sopenharmony_ci * strings.c: Likewise. 4157da0c48c4Sopenharmony_ci * strip.c: Likewise. 4158da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 4159da0c48c4Sopenharmony_ci * debugpred.h: New file. 4160da0c48c4Sopenharmony_ci 4161da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rel): Use elf_scnshndx. 4162da0c48c4Sopenharmony_ci (handle_relocs_rela): Likewise. 4163da0c48c4Sopenharmony_ci 4164da0c48c4Sopenharmony_ci * readelf.c: Add lots of likely/unlikely. 4165da0c48c4Sopenharmony_ci 4166da0c48c4Sopenharmony_ci * elflint.c: Minor cleanups. 4167da0c48c4Sopenharmony_ci 4168da0c48c4Sopenharmony_ci2007-11-19 Roland McGrath <roland@redhat.com> 4169da0c48c4Sopenharmony_ci 4170da0c48c4Sopenharmony_ci * readelf.c (print_ops): Handle all bad op codes gracefully. 4171da0c48c4Sopenharmony_ci Print their numbers instead of just ???. 4172da0c48c4Sopenharmony_ci 4173da0c48c4Sopenharmony_ci2007-11-09 Roland McGrath <roland@redhat.com> 4174da0c48c4Sopenharmony_ci 4175da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Handle DW_AT_data_location. 4176da0c48c4Sopenharmony_ci Handle block forms to mean a DWARF expression for DW_AT_allocated, 4177da0c48c4Sopenharmony_ci DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride, 4178da0c48c4Sopenharmony_ci DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound, 4179da0c48c4Sopenharmony_ci DW_AT_upper_bound. 4180da0c48c4Sopenharmony_ci 4181da0c48c4Sopenharmony_ci2007-10-20 Roland McGrath <roland@redhat.com> 4182da0c48c4Sopenharmony_ci 4183da0c48c4Sopenharmony_ci * unstrip.c (options): Update -R description. 4184da0c48c4Sopenharmony_ci (struct symbol): Put symbol details a union with a size_t pointer 4185da0c48c4Sopenharmony_ci `duplicate'. 4186da0c48c4Sopenharmony_ci (compare_symbols_output): Use null ->name as marker for discard 4187da0c48c4Sopenharmony_ci symbols, not zero *->map. 4188da0c48c4Sopenharmony_ci (copy_elided_sections): Record forwarding pointers for discarded 4189da0c48c4Sopenharmony_ci duplicates and fill SYMNDX_MAP elements through them. 4190da0c48c4Sopenharmony_ci 4191da0c48c4Sopenharmony_ci * readelf.c (process_file): Set offline_next_address to 0 at start. 4192da0c48c4Sopenharmony_ci (struct process_dwflmod_args): New type. 4193da0c48c4Sopenharmony_ci (process_dwflmod): Take args in it, pass fd to process_elf_file. 4194da0c48c4Sopenharmony_ci (process_file): Update caller; dup FD for passing to libdwfl. 4195da0c48c4Sopenharmony_ci (process_elf_file): Take new arg FD. For ET_REL file when 4196da0c48c4Sopenharmony_ci displaying data affected by libdwfl relocation, open a new Elf handle. 4197da0c48c4Sopenharmony_ci 4198da0c48c4Sopenharmony_ci2007-10-17 Roland McGrath <roland@redhat.com> 4199da0c48c4Sopenharmony_ci 4200da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): For invalid data inside a 4201da0c48c4Sopenharmony_ci unit with plausible length, keep printing at the next unit boundary. 4202da0c48c4Sopenharmony_ci 4203da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref. 4204da0c48c4Sopenharmony_ci 4205da0c48c4Sopenharmony_ci2007-10-16 Roland McGrath <roland@redhat.com> 4206da0c48c4Sopenharmony_ci 4207da0c48c4Sopenharmony_ci * readelf.c (hex_dump): Fix rounding error in whitespace calculation. 4208da0c48c4Sopenharmony_ci 4209da0c48c4Sopenharmony_ci2007-10-15 Roland McGrath <roland@redhat.com> 4210da0c48c4Sopenharmony_ci 4211da0c48c4Sopenharmony_ci * make-debug-archive.in: New file. 4212da0c48c4Sopenharmony_ci * Makefile.am (EXTRA_DIST): Add it. 4213da0c48c4Sopenharmony_ci (make-debug-archive): New target. 4214da0c48c4Sopenharmony_ci (bin_SCRIPTS, CLEANFILES): Add it. 4215da0c48c4Sopenharmony_ci 4216da0c48c4Sopenharmony_ci2007-10-10 Roland McGrath <roland@redhat.com> 4217da0c48c4Sopenharmony_ci 4218da0c48c4Sopenharmony_ci * elflint.c (special_sections): Add new attrflag value exact_or_gnuld. 4219da0c48c4Sopenharmony_ci Use it to check MERGE|STRINGS for .debug_str. 4220da0c48c4Sopenharmony_ci (check_sections): Handle exact_or_gnuld. 4221da0c48c4Sopenharmony_ci 4222da0c48c4Sopenharmony_ci2007-10-08 Roland McGrath <roland@redhat.com> 4223da0c48c4Sopenharmony_ci 4224da0c48c4Sopenharmony_ci * readelf.c (handle_core_item): Handle 'T'|0x80 to indicate 4225da0c48c4Sopenharmony_ci 64-bit struct timeval with 32-bit tv_usec. 4226da0c48c4Sopenharmony_ci 4227da0c48c4Sopenharmony_ci2007-10-07 Roland McGrath <roland@redhat.com> 4228da0c48c4Sopenharmony_ci 4229da0c48c4Sopenharmony_ci * readelf.c (check_archive_index): New function. 4230da0c48c4Sopenharmony_ci (process_file): Call it. Change signature to take only fd and name. 4231da0c48c4Sopenharmony_ci Use libdwfl to open the file, then iterate on its modules (multiple 4232da0c48c4Sopenharmony_ci for an archive) to print file name and call process_elf_file. 4233da0c48c4Sopenharmony_ci (main): Update caller. Let process_file do elf_begin. 4234da0c48c4Sopenharmony_ci (count_dwflmod, process_dwflmod, find_no_debuginfo): New functions. 4235da0c48c4Sopenharmony_ci (process_elf_file): Take only Dwfl_Module * argument. 4236da0c48c4Sopenharmony_ci Don't print the file name here. 4237da0c48c4Sopenharmony_ci (print_debug_*_section): Take Dwfl_Module * argument. 4238da0c48c4Sopenharmony_ci (print_debug): Likewise. Update caller. 4239da0c48c4Sopenharmony_ci (format_dwarf_addr): New function. 4240da0c48c4Sopenharmony_ci (print_debug_ranges_section): Use it. 4241da0c48c4Sopenharmony_ci (attr_callback): Likewise. 4242da0c48c4Sopenharmony_ci (print_debug_line_section, print_debug_loc_section): Likewise. 4243da0c48c4Sopenharmony_ci 4244da0c48c4Sopenharmony_ci * readelf.c (print_debug_ranges_section): Translate all strings. 4245da0c48c4Sopenharmony_ci (print_debug_loc_section): Likewise. 4246da0c48c4Sopenharmony_ci 4247da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Initialize SEC. 4248da0c48c4Sopenharmony_ci 4249da0c48c4Sopenharmony_ci * ar.c (do_oper_insert): Put trailing / on short names. 4250da0c48c4Sopenharmony_ci 4251da0c48c4Sopenharmony_ci * arlib.h (MAX_AR_NAME_LEN): Decrease by one. 4252da0c48c4Sopenharmony_ci 4253da0c48c4Sopenharmony_ci * arlib2.c (arlib_add_long_name): Adjust for header size. 4254da0c48c4Sopenharmony_ci 4255da0c48c4Sopenharmony_ci * arlib.c (arlib_finalize): Pad long name table to keep size even. 4256da0c48c4Sopenharmony_ci 4257da0c48c4Sopenharmony_ci * ar.c (do_oper_insert): Use write_retry for padding write. 4258da0c48c4Sopenharmony_ci 4259da0c48c4Sopenharmony_ci * ar.c (do_oper_insert): Initialize CUR_OFF in no_old case. 4260da0c48c4Sopenharmony_ci Unconditionally set FOUND[CNT]->elf when setting ->mem. 4261da0c48c4Sopenharmony_ci (remember_long_name): New function. 4262da0c48c4Sopenharmony_ci (do_oper_insert): Call it. Correctly use length of basename, 4263da0c48c4Sopenharmony_ci not original name. Don't store long name twice for new member. 4264da0c48c4Sopenharmony_ci 4265da0c48c4Sopenharmony_ci2007-10-06 Roland McGrath <roland@redhat.com> 4266da0c48c4Sopenharmony_ci 4267da0c48c4Sopenharmony_ci * elflint.c (check_note): Skip empty segment. 4268da0c48c4Sopenharmony_ci (check_note_section): Skip empty section. 4269da0c48c4Sopenharmony_ci 4270da0c48c4Sopenharmony_ci * unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate. 4271da0c48c4Sopenharmony_ci (handle_output_dir_module, handle_implicit_modules): Pass it down. 4272da0c48c4Sopenharmony_ci (handle_dwfl_module): When set, use ET_REL already loaded by Dwfl. 4273da0c48c4Sopenharmony_ci (compare_alloc_sections): Take new arg REL, ignore address if true. 4274da0c48c4Sopenharmony_ci (compare_sections): Likewise, pass it down. 4275da0c48c4Sopenharmony_ci (compare_sections_rel, compare_sections_nonrel): New functions. 4276da0c48c4Sopenharmony_ci (find_alloc_sections_prelink, copy_elided_sections): Use them 4277da0c48c4Sopenharmony_ci instead of compare_sections. 4278da0c48c4Sopenharmony_ci (sections_match): New function, broken out of ... 4279da0c48c4Sopenharmony_ci (find_alloc_section): ... here. 4280da0c48c4Sopenharmony_ci (copy_elided_sections): Reorganize section match-up logic. 4281da0c48c4Sopenharmony_ci Use sections_match for SHF_ALLOC in ET_REL. 4282da0c48c4Sopenharmony_ci For ET_REL, let the nonzero sh_addr from the debug file dominate. 4283da0c48c4Sopenharmony_ci 4284da0c48c4Sopenharmony_ci * unstrip.c (add_new_section_symbols): Take new arg REL. 4285da0c48c4Sopenharmony_ci When true, do not update section symbol values. 4286da0c48c4Sopenharmony_ci (collect_symbols): Likewise. Update section symbols with address 4287da0c48c4Sopenharmony_ci of chosen output section, not original section. 4288da0c48c4Sopenharmony_ci (check_symtab_section_symbols, copy_elided_sections): Update callers. 4289da0c48c4Sopenharmony_ci 4290da0c48c4Sopenharmony_ci * unstrip.c (compare_alloc_sections): At the same address, preserve 4291da0c48c4Sopenharmony_ci original section order. 4292da0c48c4Sopenharmony_ci 4293da0c48c4Sopenharmony_ci * elflint.c (special_sections): Don't require MERGE|STRINGS for 4294da0c48c4Sopenharmony_ci .debug_str, it didn't always have them with older tools. 4295da0c48c4Sopenharmony_ci 4296da0c48c4Sopenharmony_ci * elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL. 4297da0c48c4Sopenharmony_ci 4298da0c48c4Sopenharmony_ci2007-10-05 Roland McGrath <roland@redhat.com> 4299da0c48c4Sopenharmony_ci 4300da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in 4301da0c48c4Sopenharmony_ci ET_REL file. 4302da0c48c4Sopenharmony_ci 4303da0c48c4Sopenharmony_ci * elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose 4304da0c48c4Sopenharmony_ci SHN_UNDEF as "bad section". Use shndx value in messages. 4305da0c48c4Sopenharmony_ci 4306da0c48c4Sopenharmony_ci * elflint.c (special_sections): Add ".debug_str". Decrement namelen 4307da0c48c4Sopenharmony_ci for ".debug" so it matches as a prefix. 4308da0c48c4Sopenharmony_ci (IS_KNOWN_SPECIAL): New macro. 4309da0c48c4Sopenharmony_ci (check_sections): Use it for ".plt" match. Cite wrong SHT_NOBITS 4310da0c48c4Sopenharmony_ci type even under -d, for a .debug* or .shstrtab section. 4311da0c48c4Sopenharmony_ci 4312da0c48c4Sopenharmony_ci * readelf.c (print_ops): Use hex for address operand. 4313da0c48c4Sopenharmony_ci 4314da0c48c4Sopenharmony_ci2007-10-04 Roland McGrath <roland@redhat.com> 4315da0c48c4Sopenharmony_ci 4316da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for 4317da0c48c4Sopenharmony_ci .gnu_debuglink section to SHN_UNDEF. Drop STT_SECTION symbols for 4318da0c48c4Sopenharmony_ci sections mapped to SHN_UNDEF. 4319da0c48c4Sopenharmony_ci 4320da0c48c4Sopenharmony_ci2007-10-04 Ulrich Drepper <drepper@redhat.com> 4321da0c48c4Sopenharmony_ci 4322da0c48c4Sopenharmony_ci * readelf.c (dump_archive_index): Avoid warning about uninitialized 4323da0c48c4Sopenharmony_ci variable with older glibc versions. 4324da0c48c4Sopenharmony_ci Add some branch prediction. 4325da0c48c4Sopenharmony_ci 4326da0c48c4Sopenharmony_ci2007-10-04 Roland McGrath <roland@redhat.com> 4327da0c48c4Sopenharmony_ci 4328da0c48c4Sopenharmony_ci * readelf.c (print_archive_index): New variable. 4329da0c48c4Sopenharmony_ci (options, parse_opt): Accept -c/--archive-index to set it. 4330da0c48c4Sopenharmony_ci (dump_archive_index): New function. 4331da0c48c4Sopenharmony_ci (process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX. 4332da0c48c4Sopenharmony_ci Call dump_archive_index on archives if set. 4333da0c48c4Sopenharmony_ci (main): Update caller. 4334da0c48c4Sopenharmony_ci (any_control_option): Give it file scope, moved out of ... 4335da0c48c4Sopenharmony_ci (parse_opt): ... here. 4336da0c48c4Sopenharmony_ci 4337da0c48c4Sopenharmony_ci2007-10-03 Roland McGrath <roland@redhat.com> 4338da0c48c4Sopenharmony_ci 4339da0c48c4Sopenharmony_ci * unstrip.c (struct arg_info): Add `list' flag. 4340da0c48c4Sopenharmony_ci (options, parse_opt): Grok -n/--list to set it. 4341da0c48c4Sopenharmony_ci (list_module): New function. 4342da0c48c4Sopenharmony_ci (handle_implicit_modules): Call it under -n. 4343da0c48c4Sopenharmony_ci 4344da0c48c4Sopenharmony_ci * elflint.c (check_note_section): New function. 4345da0c48c4Sopenharmony_ci (check_sections): Call it for SHT_NOTE. 4346da0c48c4Sopenharmony_ci 4347da0c48c4Sopenharmony_ci * readelf.c (handle_notes): Use sections when available. 4348da0c48c4Sopenharmony_ci 4349da0c48c4Sopenharmony_ci * elflint.c (check_note_data): New function, broken out of ... 4350da0c48c4Sopenharmony_ci (check_note): ... here. Call it and elf_getdata_rawchunk. 4351da0c48c4Sopenharmony_ci 4352da0c48c4Sopenharmony_ci * readelf.c (handle_auxv_note): Take offset as argument, not buffer. 4353da0c48c4Sopenharmony_ci Use elf_getdata_rawchunk and gelf_getauxv. 4354da0c48c4Sopenharmony_ci (handle_notes_data): New function, broken out of ... 4355da0c48c4Sopenharmony_ci (handle_notes): ... here. Call it and elf_getdata_rawchunk. 4356da0c48c4Sopenharmony_ci 4357da0c48c4Sopenharmony_ci2007-10-01 Roland McGrath <roland@redhat.com> 4358da0c48c4Sopenharmony_ci 4359da0c48c4Sopenharmony_ci * readelf.c (hex_dump): Fix transposed subtraction generating spaces. 4360da0c48c4Sopenharmony_ci 4361da0c48c4Sopenharmony_ci * readelf.c (hex_dump): Fix line header to be hex instead of decimal. 4362da0c48c4Sopenharmony_ci 4363da0c48c4Sopenharmony_ci2007-09-10 Roland McGrath <roland@redhat.com> 4364da0c48c4Sopenharmony_ci 4365da0c48c4Sopenharmony_ci * readelf.c (options): Give -p optional argument, alias --string-dump. 4366da0c48c4Sopenharmony_ci (string_sections, string_sections_tail): New static variables. 4367da0c48c4Sopenharmony_ci (parse_opt): Set them when -p has an argument. 4368da0c48c4Sopenharmony_ci (print_string_section): New function, broken out of ... 4369da0c48c4Sopenharmony_ci (print_strings): ... here. Call it. 4370da0c48c4Sopenharmony_ci (dump_data_section): New function, broken out of ... 4371da0c48c4Sopenharmony_ci (dump_data): ... here. Call it. 4372da0c48c4Sopenharmony_ci (for_each_section_argument): New function, broken out of ... 4373da0c48c4Sopenharmony_ci (dump_data): ... here. Call it. 4374da0c48c4Sopenharmony_ci (dump_strings): New function. 4375da0c48c4Sopenharmony_ci 4376da0c48c4Sopenharmony_ci2007-08-31 Roland McGrath <roland@redhat.com> 4377da0c48c4Sopenharmony_ci 4378da0c48c4Sopenharmony_ci * readelf.c (print_strings): Typo fix. 4379da0c48c4Sopenharmony_ci 4380da0c48c4Sopenharmony_ci2007-08-23 Roland McGrath <roland@redhat.com> 4381da0c48c4Sopenharmony_ci 4382da0c48c4Sopenharmony_ci * readelf.c (printf_with_wrap): Function removed. 4383da0c48c4Sopenharmony_ci (REGISTER_WRAP_COLUMN): New macro. 4384da0c48c4Sopenharmony_ci (handle_core_register): Use print_core_item instead. 4385da0c48c4Sopenharmony_ci (struct register_info): New type. 4386da0c48c4Sopenharmony_ci (compare_registers, compare_register_sets): New functions. 4387da0c48c4Sopenharmony_ci (register_bitpos, compare_sets_by_info): New functions. 4388da0c48c4Sopenharmony_ci (handle_core_registers): Use those to segregate and sort registers 4389da0c48c4Sopenharmony_ci for display. 4390da0c48c4Sopenharmony_ci 4391da0c48c4Sopenharmony_ci * readelf.c (ITEM_WRAP_COLUMN): New macro. 4392da0c48c4Sopenharmony_ci (print_core_item): New function. 4393da0c48c4Sopenharmony_ci (handle_core_item): Use it instead of printf_with_wrap. 4394da0c48c4Sopenharmony_ci (compare_core_items, compare_core_item_groups): New functions. 4395da0c48c4Sopenharmony_ci (handle_core_items): Use them. Sort by group and force line breaks 4396da0c48c4Sopenharmony_ci between groups. 4397da0c48c4Sopenharmony_ci 4398da0c48c4Sopenharmony_ci * readelf.c (handle_core_registers, handle_core_items): New functions, 4399da0c48c4Sopenharmony_ci broken out of ... 4400da0c48c4Sopenharmony_ci (handle_core_note): ... here. Call them. 4401da0c48c4Sopenharmony_ci 4402da0c48c4Sopenharmony_ci2007-08-22 Roland McGrath <roland@redhat.com> 4403da0c48c4Sopenharmony_ci 4404da0c48c4Sopenharmony_ci * unstrip.c (new_shstrtab): New function, broken out of ... 4405da0c48c4Sopenharmony_ci (copy_elided_sections): ... here. 4406da0c48c4Sopenharmony_ci 4407da0c48c4Sopenharmony_ci2007-08-20 Roland McGrath <roland@redhat.com> 4408da0c48c4Sopenharmony_ci 4409da0c48c4Sopenharmony_ci Avoid local function trampolines in nm binary. 4410da0c48c4Sopenharmony_ci * nm.c (sort_by_address): Move to a static function instead of local 4411da0c48c4Sopenharmony_ci inside show_symbols. 4412da0c48c4Sopenharmony_ci (sort_by_name_strtab): New static variable. 4413da0c48c4Sopenharmony_ci (sort_by_name): Use it. Move to a static function instead of local 4414da0c48c4Sopenharmony_ci inside show_symbols. 4415da0c48c4Sopenharmony_ci (show_symbols): Set sort_by_name_strtab. 4416da0c48c4Sopenharmony_ci 4417da0c48c4Sopenharmony_ci2007-08-19 Roland McGrath <roland@redhat.com> 4418da0c48c4Sopenharmony_ci 4419da0c48c4Sopenharmony_ci * readelf.c (handle_auxv_note): New function. 4420da0c48c4Sopenharmony_ci (handle_notes): Call it. 4421da0c48c4Sopenharmony_ci 4422da0c48c4Sopenharmony_ci * readelf.c (printf_with_wrap, convert): New functions. 4423da0c48c4Sopenharmony_ci (handle_core_item, (handle_core_register): New functions. 4424da0c48c4Sopenharmony_ci (handle_notes): Call those with details from ebl_core_note. 4425da0c48c4Sopenharmony_ci 4426da0c48c4Sopenharmony_ci2007-08-12 Roland McGrath <roland@redhat.com> 4427da0c48c4Sopenharmony_ci 4428da0c48c4Sopenharmony_ci * elflint.c (check_note): Accept type 0 with name "Linux". 4429da0c48c4Sopenharmony_ci 4430da0c48c4Sopenharmony_ci * elflint.c (special_sections): Accept SHF_ALLOC for ".note". 4431da0c48c4Sopenharmony_ci 4432da0c48c4Sopenharmony_ci * elflint.c (section_flags_string): Return "none" for 0, not "". 4433da0c48c4Sopenharmony_ci 4434da0c48c4Sopenharmony_ci2007-08-11 Roland McGrath <roland@redhat.com> 4435da0c48c4Sopenharmony_ci 4436da0c48c4Sopenharmony_ci * elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID. 4437da0c48c4Sopenharmony_ci 4438da0c48c4Sopenharmony_ci2007-08-04 Ulrich Drepper <drepper@redhat.com> 4439da0c48c4Sopenharmony_ci 4440da0c48c4Sopenharmony_ci * readelf.c (hex_dump): Use isprint to determine whether to print 4441da0c48c4Sopenharmony_ci character itself or full stop character. 4442da0c48c4Sopenharmony_ci (dump_data): No need to check endp for NULL after strtol call. 4443da0c48c4Sopenharmony_ci 4444da0c48c4Sopenharmony_ci2007-08-03 Roland McGrath <roland@redhat.com> 4445da0c48c4Sopenharmony_ci 4446da0c48c4Sopenharmony_ci * readelf.c (print_string_sections): New variable. 4447da0c48c4Sopenharmony_ci (options, parse_opt): Handle --strings/-p to set it. 4448da0c48c4Sopenharmony_ci (print_strings): New function. 4449da0c48c4Sopenharmony_ci (process_elf_file): Call it under -p. 4450da0c48c4Sopenharmony_ci 4451da0c48c4Sopenharmony_ci * readelf.c (options): Add hidden aliases --segments, --sections, 4452da0c48c4Sopenharmony_ci as taken by binutils readelf. 4453da0c48c4Sopenharmony_ci 4454da0c48c4Sopenharmony_ci2007-08-01 Roland McGrath <roland@redhat.com> 4455da0c48c4Sopenharmony_ci 4456da0c48c4Sopenharmony_ci * readelf.c (dump_data_sections, dump_data_sections_tail): 4457da0c48c4Sopenharmony_ci New variables. 4458da0c48c4Sopenharmony_ci (options, parse_opt): Handle --hex-dump/-x, set them. 4459da0c48c4Sopenharmony_ci (hex_dump): New function. 4460da0c48c4Sopenharmony_ci (dump_data): New function, call it. 4461da0c48c4Sopenharmony_ci (process_elf_file): Call it. 4462da0c48c4Sopenharmony_ci 4463da0c48c4Sopenharmony_ci2007-07-25 Roland McGrath <roland@redhat.com> 4464da0c48c4Sopenharmony_ci 4465da0c48c4Sopenharmony_ci * addr2line.c (show_symbols): New variable. 4466da0c48c4Sopenharmony_ci (print_addrsym): New function. 4467da0c48c4Sopenharmony_ci (handle_address): Call it. 4468da0c48c4Sopenharmony_ci (options, parse_opt): Handle -S/--symbols. 4469da0c48c4Sopenharmony_ci 4470da0c48c4Sopenharmony_ci2007-06-05 Ulrich Drepper <drepper@redhat.com> 4471da0c48c4Sopenharmony_ci 4472da0c48c4Sopenharmony_ci * addr2line.c: Update for latest autoconf header. 4473da0c48c4Sopenharmony_ci * ar.c: Likewise. 4474da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 4475da0c48c4Sopenharmony_ci * elflint.c: Likewise. 4476da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 4477da0c48c4Sopenharmony_ci * ld.c: Likewise. 4478da0c48c4Sopenharmony_ci * ldgeneric.c: Likewise. 4479da0c48c4Sopenharmony_ci * nm.c: Likewise. 4480da0c48c4Sopenharmony_ci * objdump.c: Likewise. 4481da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4482da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4483da0c48c4Sopenharmony_ci * size.c: Likewise. 4484da0c48c4Sopenharmony_ci * strings.c: Likewise. 4485da0c48c4Sopenharmony_ci * strip.c: Likewise. 4486da0c48c4Sopenharmony_ci * unstrip.c: Likewise. 4487da0c48c4Sopenharmony_ci 4488da0c48c4Sopenharmony_ci2007-05-18 Roland McGrath <roland@redhat.com> 4489da0c48c4Sopenharmony_ci 4490da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with 4491da0c48c4Sopenharmony_ci stripped file, so as not to duplicate a section copied in both. 4492da0c48c4Sopenharmony_ci 4493da0c48c4Sopenharmony_ci * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file. 4494da0c48c4Sopenharmony_ci 4495da0c48c4Sopenharmony_ci2007-05-17 Roland McGrath <roland@redhat.com> 4496da0c48c4Sopenharmony_ci 4497da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0. 4498da0c48c4Sopenharmony_ci 4499da0c48c4Sopenharmony_ci * unstrip.c (handle_file): Tweak BIAS != 0 warning. 4500da0c48c4Sopenharmony_ci 4501da0c48c4Sopenharmony_ci * unstrip.c (handle_file): Take new arg CREATE_DIRS. If set, 4502da0c48c4Sopenharmony_ci call make_directories here. 4503da0c48c4Sopenharmony_ci (handle_explicit_files): Take new arg CREATE_DIRS, pass it down. 4504da0c48c4Sopenharmony_ci (handle_dwfl_module): Likewise. 4505da0c48c4Sopenharmony_ci (handle_implicit_modules): Update callers. 4506da0c48c4Sopenharmony_ci (handle_output_dir_module): Likewise. Don't do make_directories here. 4507da0c48c4Sopenharmony_ci 4508da0c48c4Sopenharmony_ci * unstrip.c (get_section_name): New function, broken out of ... 4509da0c48c4Sopenharmony_ci (copy_elided_sections): here. Update callers. 4510da0c48c4Sopenharmony_ci (find_alloc_section): Broken out of ... 4511da0c48c4Sopenharmony_ci (copy_elided_sections): ... here. Update caller. 4512da0c48c4Sopenharmony_ci (symtab_count_leading_section_symbols): Take new arg NEWSYMDATA, 4513da0c48c4Sopenharmony_ci update STT_SECTION symbols' st_value fields as a side effect. 4514da0c48c4Sopenharmony_ci (check_symtab_section_symbols): Update caller. 4515da0c48c4Sopenharmony_ci (add_new_section_symbols): Set st_value in symbols added. 4516da0c48c4Sopenharmony_ci (collect_symbols): Reset S->value for STT_SECTION symbols recorded. 4517da0c48c4Sopenharmony_ci Take new arg SPLIT_BSS. Adjust S->shndx recorded for symbols moved 4518da0c48c4Sopenharmony_ci from .bss to .dynbss. 4519da0c48c4Sopenharmony_ci (find_alloc_sections_prelink): New function. Associate debug file 4520da0c48c4Sopenharmony_ci allocated SHT_NOBITS shdrs with stripped moved by prelink via 4521da0c48c4Sopenharmony_ci .gnu.prelink_undo information. 4522da0c48c4Sopenharmony_ci (copy_elided_sections): Call it when we couldn't find every allocated 4523da0c48c4Sopenharmony_ci section. Don't use a debug file non-NOBITS section if SHF_ALLOC. 4524da0c48c4Sopenharmony_ci Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM. 4525da0c48c4Sopenharmony_ci (handle_file): Update callers. 4526da0c48c4Sopenharmony_ci 4527da0c48c4Sopenharmony_ci * unstrip.c (copy_elided_sections): Ignore unfound unallocated section 4528da0c48c4Sopenharmony_ci named ".comment". 4529da0c48c4Sopenharmony_ci 4530da0c48c4Sopenharmony_ci * elflint.c (check_sections): Fix association of segments with 4531da0c48c4Sopenharmony_ci sections when p_memsz > p_filesz. 4532da0c48c4Sopenharmony_ci 4533da0c48c4Sopenharmony_ci2007-04-29 Roland McGrath <roland@redhat.com> 4534da0c48c4Sopenharmony_ci 4535da0c48c4Sopenharmony_ci * addr2line.c (options, main): Tweak argp group settings to fix 4536da0c48c4Sopenharmony_ci usage output. 4537da0c48c4Sopenharmony_ci 4538da0c48c4Sopenharmony_ci2007-04-28 Roland McGrath <roland@redhat.com> 4539da0c48c4Sopenharmony_ci 4540da0c48c4Sopenharmony_ci * strip.c (handle_elf): Update debug file's SHT_NOBITS sections' 4541da0c48c4Sopenharmony_ci sizes to match sections adjusted in the stripped file. 4542da0c48c4Sopenharmony_ci 4543da0c48c4Sopenharmony_ci2007-04-24 Roland McGrath <roland@redhat.com> 4544da0c48c4Sopenharmony_ci 4545da0c48c4Sopenharmony_ci * elfcmp.c (OPT_HASH_INEXACT): New macro. 4546da0c48c4Sopenharmony_ci (hash_inexact): New variable. 4547da0c48c4Sopenharmony_ci (options, parse_opt): Add --hash-inexact option to set it. 4548da0c48c4Sopenharmony_ci (hash_content_equivalent): New function. 4549da0c48c4Sopenharmony_ci (main): Call it for differing SHT_HASH sections under --hash-inexact. 4550da0c48c4Sopenharmony_ci 4551da0c48c4Sopenharmony_ci2007-04-23 Roland McGrath <roland@redhat.com> 4552da0c48c4Sopenharmony_ci 4553da0c48c4Sopenharmony_ci * unstrip.c: New file. 4554da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add it. 4555da0c48c4Sopenharmony_ci (unstrip_LDADD): New variable. 4556da0c48c4Sopenharmony_ci 4557da0c48c4Sopenharmony_ci * strip.c (options): Allow --output for -o. 4558da0c48c4Sopenharmony_ci 4559da0c48c4Sopenharmony_ci2007-02-15 Ulrich Drepper <drepper@redhat.com> 4560da0c48c4Sopenharmony_ci 4561da0c48c4Sopenharmony_ci * readelf.c: Remove unused code. Add a few consts. 4562da0c48c4Sopenharmony_ci 4563da0c48c4Sopenharmony_ci2007-02-15 Roland McGrath <roland@redhat.com> 4564da0c48c4Sopenharmony_ci 4565da0c48c4Sopenharmony_ci * readelf.c (print_debug): Fix brainos in SHDR test. 4566da0c48c4Sopenharmony_ci 4567da0c48c4Sopenharmony_ci2007-02-05 Roland McGrath <roland@redhat.com> 4568da0c48c4Sopenharmony_ci 4569da0c48c4Sopenharmony_ci * ar.c: Include <limits.h>, since we use LONG_MAX. 4570da0c48c4Sopenharmony_ci 4571da0c48c4Sopenharmony_ci2007-02-05 Ulrich Drepper <drepper@redhat.com> 4572da0c48c4Sopenharmony_ci 4573da0c48c4Sopenharmony_ci * ar.c: Add ugly hack to work around gcc complaining that we 4574da0c48c4Sopenharmony_ci ignore fchown's return value. 4575da0c48c4Sopenharmony_ci (do_oper_insert): Handle error when writing padding. 4576da0c48c4Sopenharmony_ci * ranlib.c: Add fchown complain work around. 4577da0c48c4Sopenharmony_ci 4578da0c48c4Sopenharmony_ci * arlib.c: Make symtab a global variable. Change all users. 4579da0c48c4Sopenharmony_ci * arlib2.c: Likewise. 4580da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4581da0c48c4Sopenharmony_ci * ar.c: Likewise. 4582da0c48c4Sopenharmony_ci * arlib.h: Declare it. 4583da0c48c4Sopenharmony_ci 4584da0c48c4Sopenharmony_ci2007-01-11 Roland McGrath <roland@redhat.com> 4585da0c48c4Sopenharmony_ci 4586da0c48c4Sopenharmony_ci * elflint.c (check_sections): Use ebl_machine_section_flag_check on 4587da0c48c4Sopenharmony_ci SHF_MASKPROC bits separately from generic sh_flags validation. 4588da0c48c4Sopenharmony_ci 4589da0c48c4Sopenharmony_ci2007-02-04 Ulrich Drepper <drepper@redhat.com> 4590da0c48c4Sopenharmony_ci 4591da0c48c4Sopenharmony_ci * ar.c: New file. 4592da0c48c4Sopenharmony_ci * arlib.c: New file. 4593da0c48c4Sopenharmony_ci * arlib2.c: New file. 4594da0c48c4Sopenharmony_ci * arlib.h: New file. 4595da0c48c4Sopenharmony_ci * Makefile (noinst_LIBRARIES): Add libar. 4596da0c48c4Sopenharmony_ci (libar_a_SOURCES): Define. 4597da0c48c4Sopenharmony_ci (ar_LDADD): Define. 4598da0c48c4Sopenharmony_ci (CFLAGS_ar): Define. 4599da0c48c4Sopenharmony_ci * ranlib.c: Change to use arlib. 4600da0c48c4Sopenharmony_ci 4601da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Work around GNU ld bug which omits 4602da0c48c4Sopenharmony_ci sections but not symbols in those sections. 4603da0c48c4Sopenharmony_ci 4604da0c48c4Sopenharmony_ci2007-01-10 Ulrich Drepper <drepper@redhat.com> 4605da0c48c4Sopenharmony_ci 4606da0c48c4Sopenharmony_ci * addr2line.c: Update copyright year. 4607da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 4608da0c48c4Sopenharmony_ci * elflint.c: Likewise. 4609da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 4610da0c48c4Sopenharmony_ci * ld.c: Likewise. 4611da0c48c4Sopenharmony_ci * nm.c: Likewise. 4612da0c48c4Sopenharmony_ci * objdump.c: Likewise. 4613da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4614da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4615da0c48c4Sopenharmony_ci * size.c: Likewise. 4616da0c48c4Sopenharmony_ci * strings.c: Likewise. 4617da0c48c4Sopenharmony_ci * strip.c: Likewise. 4618da0c48c4Sopenharmony_ci 4619da0c48c4Sopenharmony_ci2006-12-09 Ulrich Drepper <drepper@redhat.com> 4620da0c48c4Sopenharmony_ci 4621da0c48c4Sopenharmony_ci * elflint.c (compare_hash_gnu_hash): New function. Report if the 4622da0c48c4Sopenharmony_ci two hash tables have different content (module expected omission 4623da0c48c4Sopenharmony_ci of undefined symbols). 4624da0c48c4Sopenharmony_ci 4625da0c48c4Sopenharmony_ci2006-10-31 Roland McGrath <roland@redhat.com> 4626da0c48c4Sopenharmony_ci 4627da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Don't complain about 4628da0c48c4Sopenharmony_ci p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE. 4629da0c48c4Sopenharmony_ci 4630da0c48c4Sopenharmony_ci2006-09-19 Jakub Jelinek <jakub@redhat.com> 4631da0c48c4Sopenharmony_ci 4632da0c48c4Sopenharmony_ci * strip.c (process_file): Disallow -f on archives. 4633da0c48c4Sopenharmony_ci 4634da0c48c4Sopenharmony_ci2006-10-09 Roland McGrath <roland@redhat.com> 4635da0c48c4Sopenharmony_ci 4636da0c48c4Sopenharmony_ci * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC). 4637da0c48c4Sopenharmony_ci 4638da0c48c4Sopenharmony_ci2006-08-29 Roland McGrath <roland@redhat.com> 4639da0c48c4Sopenharmony_ci 4640da0c48c4Sopenharmony_ci * Makefile.am (MAINTAINERCLEANFILES): New variable. 4641da0c48c4Sopenharmony_ci 4642da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly. 4643da0c48c4Sopenharmony_ci Reported by Christian Aichinger <Greek0@gmx.net>. 4644da0c48c4Sopenharmony_ci 4645da0c48c4Sopenharmony_ci * elflint.c (valid_e_machine): Add EM_ALPHA. 4646da0c48c4Sopenharmony_ci Reported by Christian Aichinger <Greek0@gmx.net>. 4647da0c48c4Sopenharmony_ci 4648da0c48c4Sopenharmony_ci2006-08-08 Ulrich Drepper <drepper@redhat.com> 4649da0c48c4Sopenharmony_ci 4650da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. 4651da0c48c4Sopenharmony_ci Keep track of which "high DT" entries are present. 4652da0c48c4Sopenharmony_ci Check that either old or GNU-style hash table is present. 4653da0c48c4Sopenharmony_ci If GNU-style hash table is used a symbol table is mandatory. 4654da0c48c4Sopenharmony_ci Check that if any prelink entry is present all of them are. 4655da0c48c4Sopenharmony_ci (check_gnu_hash): Only fail for undefined symbols in GNU-style hash 4656da0c48c4Sopenharmony_ci table if they don't refer to functions. 4657da0c48c4Sopenharmony_ci 4658da0c48c4Sopenharmony_ci2006-07-17 Roland McGrath <roland@redhat.com> 4659da0c48c4Sopenharmony_ci 4660da0c48c4Sopenharmony_ci * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field. 4661da0c48c4Sopenharmony_ci (add_version): Likewise for argument. 4662da0c48c4Sopenharmony_ci (check_versym): Cast constant to GElf_Versym for comparison. 4663da0c48c4Sopenharmony_ci 4664da0c48c4Sopenharmony_ci2006-07-12 Roland McGrath <roland@redhat.com> 4665da0c48c4Sopenharmony_ci 4666da0c48c4Sopenharmony_ci * readelf.c (handle_gnu_hash): Add casts for machines where 4667da0c48c4Sopenharmony_ci Elf32_Word != unsigned int. 4668da0c48c4Sopenharmony_ci 4669da0c48c4Sopenharmony_ci2006-07-12 Ulrich Drepper <drepper@redhat.com> 4670da0c48c4Sopenharmony_ci 4671da0c48c4Sopenharmony_ci * elflint.c (check_sysv_hash64): Fix printf format. 4672da0c48c4Sopenharmony_ci 4673da0c48c4Sopenharmony_ci2006-07-11 Roland McGrath <roland@redhat.com> 4674da0c48c4Sopenharmony_ci 4675da0c48c4Sopenharmony_ci * addr2line.c (options): English fix in -f doc string. 4676da0c48c4Sopenharmony_ci 4677da0c48c4Sopenharmony_ci * addr2line.c (use_comp_dir): New variable. 4678da0c48c4Sopenharmony_ci (options, parse_opt): Grok -A/--absolute to set it. 4679da0c48c4Sopenharmony_ci (handle_address): If set, prepend dwfl_line_comp_dir results to 4680da0c48c4Sopenharmony_ci relative file names. 4681da0c48c4Sopenharmony_ci 4682da0c48c4Sopenharmony_ci2006-07-06 Ulrich Drepper <drepper@redhat.com> 4683da0c48c4Sopenharmony_ci 4684da0c48c4Sopenharmony_ci * elflint.c: Adjust for latest new hash table format. 4685da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4686da0c48c4Sopenharmony_ci 4687da0c48c4Sopenharmony_ci * elflint.c (check_versym): Ignore hidden bit when comparing version 4688da0c48c4Sopenharmony_ci numbers. 4689da0c48c4Sopenharmony_ci 4690da0c48c4Sopenharmony_ci2006-07-05 Ulrich Drepper <drepper@redhat.com> 4691da0c48c4Sopenharmony_ci 4692da0c48c4Sopenharmony_ci * ldgeneric.c (ld_generic_create_outfile): Correctly recognize 4693da0c48c4Sopenharmony_ci discarded COMDAT symbols. 4694da0c48c4Sopenharmony_ci 4695da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_count_relocations): Lot of corrections. 4696da0c48c4Sopenharmony_ci (elf_i386_create_relocations): Likewise. 4697da0c48c4Sopenharmony_ci * ld.h (struct symbol): Add local and hidden bits. 4698da0c48c4Sopenharmony_ci * ld.c (create_special_section_symbol): These synthsized symbols 4699da0c48c4Sopenharmony_ci are local and hidden. 4700da0c48c4Sopenharmony_ci * ldgeneric.c (file_process2): Check whether input file matches 4701da0c48c4Sopenharmony_ci the emulation. 4702da0c48c4Sopenharmony_ci (fillin_special_symbol): Create symbols as local and/or hidden 4703da0c48c4Sopenharmony_ci if requested. 4704da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Make local copy of symbol. 4705da0c48c4Sopenharmony_ci Don't hide global, defined symbols in dynamic symbol table unless 4706da0c48c4Sopenharmony_ci requested. Synthetic symbols have no version information. 4707da0c48c4Sopenharmony_ci 4708da0c48c4Sopenharmony_ci * elflint.c: Add support for checking 64-bit SysV-style hash tables. 4709da0c48c4Sopenharmony_ci * readelf.c: Add support for printing 64-bit SysV-style hash tables. 4710da0c48c4Sopenharmony_ci 4711da0c48c4Sopenharmony_ci2006-07-04 Ulrich Drepper <drepper@redhat.com> 4712da0c48c4Sopenharmony_ci 4713da0c48c4Sopenharmony_ci * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT 4714da0c48c4Sopenharmony_ci testing. 4715da0c48c4Sopenharmony_ci 4716da0c48c4Sopenharmony_ci2006-07-03 Ulrich Drepper <drepper@redhat.com> 4717da0c48c4Sopenharmony_ci 4718da0c48c4Sopenharmony_ci * elflint.c: Add testing of DT_GNU_HASH. 4719da0c48c4Sopenharmony_ci * readelf.c: Implement showing histogram for DT_GNU_HASH section. 4720da0c48c4Sopenharmony_ci 4721da0c48c4Sopenharmony_ci * Makefile.am: Add hacks to create dependency files for non-generic 4722da0c48c4Sopenharmony_ci linker. 4723da0c48c4Sopenharmony_ci 4724da0c48c4Sopenharmony_ci2006-06-12 Ulrich Drepper <drepper@redhat.com> 4725da0c48c4Sopenharmony_ci 4726da0c48c4Sopenharmony_ci * ldgeneric.c (ld_generic_generate_sections): Don't create .interp 4727da0c48c4Sopenharmony_ci section if creating a DSO and no interpreter is given. 4728da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Don't store reference to symbols in 4729da0c48c4Sopenharmony_ci discarded COMDAT groups. Don't create PHDR and INTERP program header 4730da0c48c4Sopenharmony_ci for DSO if no interpreter is specified. 4731da0c48c4Sopenharmony_ci (create_verneed_data): Pretty printing. 4732da0c48c4Sopenharmony_ci 4733da0c48c4Sopenharmony_ci * ldscript.y (content): If a DSO is created don't set default 4734da0c48c4Sopenharmony_ci interpreter from linker script. 4735da0c48c4Sopenharmony_ci 4736da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_count_relocations): Do not add relocations 4737da0c48c4Sopenharmony_ci for symbols in discarded COMDAT groups. 4738da0c48c4Sopenharmony_ci (elf_i386_create_relocations): Likewise. 4739da0c48c4Sopenharmony_ci * ld.h (struct scninfo): Add unused_comdat. 4740da0c48c4Sopenharmony_ci * ldgeneric.c (add_section): Also check group signature when 4741da0c48c4Sopenharmony_ci matching COMDAT sections. 4742da0c48c4Sopenharmony_ci (add_relocatable_file): Ignore symbols in COMDAT group which are 4743da0c48c4Sopenharmony_ci discarded. 4744da0c48c4Sopenharmony_ci 4745da0c48c4Sopenharmony_ci * elflint.c (check_one_reloc): For *_NONE relocs only check type 4746da0c48c4Sopenharmony_ci and symbol reference. 4747da0c48c4Sopenharmony_ci 4748da0c48c4Sopenharmony_ci2006-06-11 Ulrich Drepper <drepper@redhat.com> 4749da0c48c4Sopenharmony_ci 4750da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Fix checking value of tags which are 4751da0c48c4Sopenharmony_ci offsets in the string section. Make sure DT_STRTAB points to the 4752da0c48c4Sopenharmony_ci section referenced in sh_link. 4753da0c48c4Sopenharmony_ci 4754da0c48c4Sopenharmony_ci * ld.c (options): Add headers. Add short option 'R' for '--rpath'. 4755da0c48c4Sopenharmony_ci 4756da0c48c4Sopenharmony_ci * ld.c: Recognize --eh-frame-hdr option. 4757da0c48c4Sopenharmony_ci * ld.h (struct ld_state): Add eh_frame_hdr field. 4758da0c48c4Sopenharmony_ci * ldgeneric.c (struct unw_eh_frame_hdr): Define. 4759da0c48c4Sopenharmony_ci 4760da0c48c4Sopenharmony_ci * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of 4761da0c48c4Sopenharmony_ci SH_FLAGS_COMBINE. 4762da0c48c4Sopenharmony_ci (add_relocatable_file): Minor optimization of last change. 4763da0c48c4Sopenharmony_ci (match_section): Don't preserve SHF_GROUP flag any longer. 4764da0c48c4Sopenharmony_ci 4765da0c48c4Sopenharmony_ci2006-06-10 Ulrich Drepper <drepper@redhat.com> 4766da0c48c4Sopenharmony_ci 4767da0c48c4Sopenharmony_ci * ld.c (parse_z_option): Recognize execstack and noexecstack. 4768da0c48c4Sopenharmony_ci Handle record and ignore as position dependent options. 4769da0c48c4Sopenharmony_ci (parse_z_option_2): Handle ignore and record here. 4770da0c48c4Sopenharmony_ci * ld.h (struct ld_state): Add execstack field. 4771da0c48c4Sopenharmony_ci * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack 4772da0c48c4Sopenharmony_ci sections. 4773da0c48c4Sopenharmony_ci (ld_generic_create_outfile): Fix program header creation in native 4774da0c48c4Sopenharmony_ci linker. Add PT_GNU_STACK program header. 4775da0c48c4Sopenharmony_ci 4776da0c48c4Sopenharmony_ci2006-06-09 Ulrich Drepper <drepper@redhat.com> 4777da0c48c4Sopenharmony_ci 4778da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries 4779da0c48c4Sopenharmony_ci for PLT entries if there is no local definition. 4780da0c48c4Sopenharmony_ci 4781da0c48c4Sopenharmony_ci * ld.c (parse_option): Handle -z ignore like --as-needed and 4782da0c48c4Sopenharmony_ci -z record like --no-as-needed. 4783da0c48c4Sopenharmony_ci * ld.h (struct ld_state): Remove ignore_unused_dsos field. 4784da0c48c4Sopenharmony_ci * ldgeneric.c (new_generated_scn): Always compute ndt_needed by 4785da0c48c4Sopenharmony_ci looping over DSOs. When deciding about adding DT_NEEDED entries 4786da0c48c4Sopenharmony_ci use ->as_needed instead of ignore_unused_dsos. 4787da0c48c4Sopenharmony_ci 4788da0c48c4Sopenharmony_ci2006-05-31 Ulrich Drepper <drepper@redhat.com> 4789da0c48c4Sopenharmony_ci 4790da0c48c4Sopenharmony_ci * ld.c: Recognize --as-needed and --no-as-needed options. 4791da0c48c4Sopenharmony_ci * ld.h (struct usedfile): Add as_needed field. 4792da0c48c4Sopenharmony_ci (struct ld_state): Likewise. 4793da0c48c4Sopenharmony_ci * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from 4794da0c48c4Sopenharmony_ci the list. 4795da0c48c4Sopenharmony_ci * ldscript.y (filename_id_list): Split to correctly parse all 4796da0c48c4Sopenharmony_ci combinations. 4797da0c48c4Sopenharmony_ci (mark_as_needed): Fix loop. 4798da0c48c4Sopenharmony_ci 4799da0c48c4Sopenharmony_ci2006-05-28 Ulrich Drepper <drepper@redhat.com> 4800da0c48c4Sopenharmony_ci 4801da0c48c4Sopenharmony_ci * addr2line.c (print_dwarf_function): Use unsigned type for lineno 4802da0c48c4Sopenharmony_ci and colno. 4803da0c48c4Sopenharmony_ci 4804da0c48c4Sopenharmony_ci2006-05-27 Ulrich Drepper <drepper@redhat.com> 4805da0c48c4Sopenharmony_ci 4806da0c48c4Sopenharmony_ci * readelf.c (handle_relocs_rela): Better notations for addon value. 4807da0c48c4Sopenharmony_ci (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version. 4808da0c48c4Sopenharmony_ci 4809da0c48c4Sopenharmony_ci2006-04-04 Ulrich Drepper <drepper@redhat.com> 4810da0c48c4Sopenharmony_ci 4811da0c48c4Sopenharmony_ci * addr2line.c: Update copyright year. 4812da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 4813da0c48c4Sopenharmony_ci * elflint.c: Likewise. 4814da0c48c4Sopenharmony_ci * findtextrel.c: Likewise. 4815da0c48c4Sopenharmony_ci * ld.c: Likewise. 4816da0c48c4Sopenharmony_ci * nm.c: Likewise. 4817da0c48c4Sopenharmony_ci * objdump.c: Likewise. 4818da0c48c4Sopenharmony_ci * ranlib.c: Likewise. 4819da0c48c4Sopenharmony_ci * readelf.c: Likewise. 4820da0c48c4Sopenharmony_ci * size.c: Likewise. 4821da0c48c4Sopenharmony_ci * strings.c: Likewise. 4822da0c48c4Sopenharmony_ci * strip.c: Likewise. 4823da0c48c4Sopenharmony_ci 4824da0c48c4Sopenharmony_ci2006-03-09 Roland McGrath <roland@redhat.com> 4825da0c48c4Sopenharmony_ci 4826da0c48c4Sopenharmony_ci * Makefile.am (AM_LDFLAGS): New variable. 4827da0c48c4Sopenharmony_ci 4828da0c48c4Sopenharmony_ci2006-03-01 Roland McGrath <roland@redhat.com> 4829da0c48c4Sopenharmony_ci 4830da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables 4831da0c48c4Sopenharmony_ci for dwarf.h changes matching 3.0 spec. 4832da0c48c4Sopenharmony_ci (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise. 4833da0c48c4Sopenharmony_ci 4834da0c48c4Sopenharmony_ci2005-12-04 Ulrich Drepper <drepper@redhat.com> 4835da0c48c4Sopenharmony_ci 4836da0c48c4Sopenharmony_ci * elflint.c (check_one_reloc): If relocation section is not loaded, 4837da0c48c4Sopenharmony_ci don't check whether the relocations modify read-only sections or 4838da0c48c4Sopenharmony_ci loaded and unloaded sections. 4839da0c48c4Sopenharmony_ci 4840da0c48c4Sopenharmony_ci2005-11-28 Ulrich Drepper <drepper@redhat.com> 4841da0c48c4Sopenharmony_ci 4842da0c48c4Sopenharmony_ci * elflint.c (check_one_reloc): Take additional parameters. Use 4843da0c48c4Sopenharmony_ci them to determine whether relocation is valid in this type of 4844da0c48c4Sopenharmony_ci file. DSOs and executables can contain relocation sections in 4845da0c48c4Sopenharmony_ci unloaded sections which just show the relocations the linker 4846da0c48c4Sopenharmony_ci applied. Adjust all callers. 4847da0c48c4Sopenharmony_ci (check_program_header): Check that PT_PHDR is loaded and that offset 4848da0c48c4Sopenharmony_ci matches the one in the ELF header. 4849da0c48c4Sopenharmony_ci 4850da0c48c4Sopenharmony_ci2005-10-26 Roland McGrath <roland@redhat.com> 4851da0c48c4Sopenharmony_ci 4852da0c48c4Sopenharmony_ci * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation. 4853da0c48c4Sopenharmony_ci 4854da0c48c4Sopenharmony_ci2005-09-03 Ulrich Drepper <drepper@redhat.com> 4855da0c48c4Sopenharmony_ci 4856da0c48c4Sopenharmony_ci * strip.c (handle_elf): Unify some error messages. 4857da0c48c4Sopenharmony_ci * ld.c (main): Likewise. 4858da0c48c4Sopenharmony_ci * ldgeneric.c (open_elf): Likewise. 4859da0c48c4Sopenharmony_ci * elfcmp.c (main): Likewise. 4860da0c48c4Sopenharmony_ci * elflint.c (check_elf_header): Likewise. 4861da0c48c4Sopenharmony_ci 4862da0c48c4Sopenharmony_ci * size.c (process_file): Fix typo in error message. 4863da0c48c4Sopenharmony_ci 4864da0c48c4Sopenharmony_ci * readelf.c: Lots of little cleanups. Use _unlocked functions. 4865da0c48c4Sopenharmony_ci 4866da0c48c4Sopenharmony_ci2005-09-02 Ulrich Drepper <drepper@redhat.com> 4867da0c48c4Sopenharmony_ci 4868da0c48c4Sopenharmony_ci * strings.c (main): Reset elfmap variable after munmap call. 4869da0c48c4Sopenharmony_ci [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap. 4870da0c48c4Sopenharmony_ci 4871da0c48c4Sopenharmony_ci2005-08-28 Ulrich Drepper <drepper@redhat.com> 4872da0c48c4Sopenharmony_ci 4873da0c48c4Sopenharmony_ci * ranlib.c: Don't define pread_retry and write_retry here. 4874da0c48c4Sopenharmony_ci 4875da0c48c4Sopenharmony_ci * Makefile.an [BUILD_STATIC] (libdw): Add -ldl. 4876da0c48c4Sopenharmony_ci (CLEANFILES): Add *.gcno *.gcda *.gconv. 4877da0c48c4Sopenharmony_ci 4878da0c48c4Sopenharmony_ci * strings.c (process_chunk): Reorder expressions in conditional 4879da0c48c4Sopenharmony_ci (process_chunk_mb): Likewise. 4880da0c48c4Sopenharmony_ci 4881da0c48c4Sopenharmony_ci * strings.c: New file. 4882da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add strings. 4883da0c48c4Sopenharmony_ci (strings_no_Wstring): Define. 4884da0c48c4Sopenharmony_ci (strings_LDADD): Define. 4885da0c48c4Sopenharmony_ci 4886da0c48c4Sopenharmony_ci2005-08-27 Roland McGrath <roland@redhat.com> 4887da0c48c4Sopenharmony_ci 4888da0c48c4Sopenharmony_ci * addr2line.c (dwarf_diename_integrate): Function removed. 4889da0c48c4Sopenharmony_ci (print_dwarf_function): Use plain dwarf_diename. 4890da0c48c4Sopenharmony_ci 4891da0c48c4Sopenharmony_ci2005-08-24 Ulrich Drepper <drepper@redhat.com> 4892da0c48c4Sopenharmony_ci 4893da0c48c4Sopenharmony_ci * elflint.c (check_versym): Versioned symbols should not have 4894da0c48c4Sopenharmony_ci local binding. 4895da0c48c4Sopenharmony_ci 4896da0c48c4Sopenharmony_ci2005-08-15 Ulrich Drepper <drepper@redhat.com> 4897da0c48c4Sopenharmony_ci 4898da0c48c4Sopenharmony_ci * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be 4899da0c48c4Sopenharmony_ci undefined. 4900da0c48c4Sopenharmony_ci 4901da0c48c4Sopenharmony_ci * Makefile.am: Add rules to build ranlib. 4902da0c48c4Sopenharmony_ci * ranlib.c: New file. 4903da0c48c4Sopenharmony_ci 4904da0c48c4Sopenharmony_ci2005-08-14 Roland McGrath <roland@redhat.com> 4905da0c48c4Sopenharmony_ci 4906da0c48c4Sopenharmony_ci * elflint.c (check_sections): Use ebl_section_type_name and allow any 4907da0c48c4Sopenharmony_ci sh_type it recognizes. 4908da0c48c4Sopenharmony_ci 4909da0c48c4Sopenharmony_ci * elflint.c (check_sections): Print unknown flags in hex, don't 4910da0c48c4Sopenharmony_ci truncate high bits. Print section number and name for unknown type. 4911da0c48c4Sopenharmony_ci 4912da0c48c4Sopenharmony_ci2005-08-13 Roland McGrath <roland@redhat.com> 4913da0c48c4Sopenharmony_ci 4914da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Use ebl_segment_type_name and 4915da0c48c4Sopenharmony_ci allow any p_type it recognizes. Include p_type value in error 4916da0c48c4Sopenharmony_ci message for unknown type. 4917da0c48c4Sopenharmony_ci 4918da0c48c4Sopenharmony_ci2005-08-13 Ulrich Drepper <drepper@redhat.com> 4919da0c48c4Sopenharmony_ci 4920da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr 4921da0c48c4Sopenharmony_ci to ebl_check_special_symbol. 4922da0c48c4Sopenharmony_ci (check_sections): Pass ehdr to ebl_bss_plt_p. 4923da0c48c4Sopenharmony_ci 4924da0c48c4Sopenharmony_ci2005-08-12 Roland McGrath <roland@redhat.com> 4925da0c48c4Sopenharmony_ci 4926da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx 4927da0c48c4Sopenharmony_ci refers to the right section if it's not SHN_ABS. 4928da0c48c4Sopenharmony_ci Let ebl_check_special_symbol override _G_O_T_ value and size checks. 4929da0c48c4Sopenharmony_ci 4930da0c48c4Sopenharmony_ci * elflint.c (check_sections): Don't complain about a non-NOBITS 4931da0c48c4Sopenharmony_ci section taking no segment space, if it's sh_size is 0. 4932da0c48c4Sopenharmony_ci 4933da0c48c4Sopenharmony_ci * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should 4934da0c48c4Sopenharmony_ci be PROGBITS or NOBITS. 4935da0c48c4Sopenharmony_ci 4936da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Use ebl_check_special_symbol to override 4937da0c48c4Sopenharmony_ci standard st_value and st_size checks. 4938da0c48c4Sopenharmony_ci 4939da0c48c4Sopenharmony_ci2005-07-28 Roland McGrath <roland@redhat.com> 4940da0c48c4Sopenharmony_ci 4941da0c48c4Sopenharmony_ci * addr2line.c (options, parse_opt): Don't handle -e here. 4942da0c48c4Sopenharmony_ci (executable): Variable removed. 4943da0c48c4Sopenharmony_ci (argp_children): New static variable. 4944da0c48c4Sopenharmony_ci (argp): Use it. Make const. 4945da0c48c4Sopenharmony_ci (main): Fill in argp_children from dwfl_standard_argp (). 4946da0c48c4Sopenharmony_ci Let libdwfl handle file selection, pass Dwfl handle to handle_address. 4947da0c48c4Sopenharmony_ci (print_dwarf_function): New function. Try to figure out inline chain. 4948da0c48c4Sopenharmony_ci (elf_getname): Function removed, libdwfl does it for us. 4949da0c48c4Sopenharmony_ci (handle_address): Take Dwfl handle instead of Elf, Dwarf handles. 4950da0c48c4Sopenharmony_ci Use dwfl_module_addrname instead of elf_getname. 4951da0c48c4Sopenharmony_ci Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls. 4952da0c48c4Sopenharmony_ci * Makefile.am (INCLUDES): Add libdwfl directory to path. 4953da0c48c4Sopenharmony_ci 4954da0c48c4Sopenharmony_ci2005-08-10 Ulrich Drepper <drepper@redhat.com> 4955da0c48c4Sopenharmony_ci 4956da0c48c4Sopenharmony_ci * strip.c (parse_opt): STATE parameter is now used. 4957da0c48c4Sopenharmony_ci Various little cleanups. 4958da0c48c4Sopenharmony_ci 4959da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Correct fallout of renaming 4960da0c48c4Sopenharmony_ci of DW_LNS_set_epilog_begin. 4961da0c48c4Sopenharmony_ci 4962da0c48c4Sopenharmony_ci2005-08-08 Roland McGrath <roland@redhat.com> 4963da0c48c4Sopenharmony_ci 4964da0c48c4Sopenharmony_ci * strip.c (options, parse_opt): Grok -R .comment for compatibility 4965da0c48c4Sopenharmony_ci with binutils strip. Likewise -d, -S, as aliases for -g. 4966da0c48c4Sopenharmony_ci Likewise ignore -s/--strip-all. 4967da0c48c4Sopenharmony_ci 4968da0c48c4Sopenharmony_ci2005-08-07 Roland McGrath <roland@redhat.com> 4969da0c48c4Sopenharmony_ci 4970da0c48c4Sopenharmony_ci * strip.c (process_file): Open read-only when using a different output 4971da0c48c4Sopenharmony_ci file. 4972da0c48c4Sopenharmony_ci 4973da0c48c4Sopenharmony_ci2005-08-06 Ulrich Drepper <drepper@redhat.com> 4974da0c48c4Sopenharmony_ci 4975da0c48c4Sopenharmony_ci * elflint.c (in_nobits_scn): New function. 4976da0c48c4Sopenharmony_ci (check_versym): Allow references for defined symbols against versions 4977da0c48c4Sopenharmony_ci of other DSOs also for symbols in nobits sections. 4978da0c48c4Sopenharmony_ci Move a few variables around. 4979da0c48c4Sopenharmony_ci 4980da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Avoid duplication. 4981da0c48c4Sopenharmony_ci Link with statis libs if BUILD_STATIC. 4982da0c48c4Sopenharmony_ci 4983da0c48c4Sopenharmony_ci2005-08-05 Ulrich Drepper <drepper@redhat.com> 4984da0c48c4Sopenharmony_ci 4985da0c48c4Sopenharmony_ci * elflint.c: Many, many more tests. Mostly related to symbol 4986da0c48c4Sopenharmony_ci versioning. Those sections should now be completely checked. 4987da0c48c4Sopenharmony_ci 4988da0c48c4Sopenharmony_ci * readelf.c (print_dynamic): Use gelf_offscn. 4989da0c48c4Sopenharmony_ci 4990da0c48c4Sopenharmony_ci2005-08-04 Ulrich Drepper <drepper@redhat.com> 4991da0c48c4Sopenharmony_ci 4992da0c48c4Sopenharmony_ci * elflint.c: Add lots more tests: more extension symbol table sanity, 4993da0c48c4Sopenharmony_ci versioning section tests, hash table tests. General cleanup. 4994da0c48c4Sopenharmony_ci 4995da0c48c4Sopenharmony_ci2005-08-02 Ulrich Drepper <drepper@redhat.com> 4996da0c48c4Sopenharmony_ci 4997da0c48c4Sopenharmony_ci * objdump.c: New file. 4998da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add objdump. 4999da0c48c4Sopenharmony_ci (objdump_LDADD): Define. 5000da0c48c4Sopenharmony_ci 5001da0c48c4Sopenharmony_ci * elflint.c (check_reloc_shdr): New function split out from check_rela 5002da0c48c4Sopenharmony_ci and check_rel. 5003da0c48c4Sopenharmony_ci (check_one_reloc): New function. Likewise. 5004da0c48c4Sopenharmony_ci (check_rela): Use check_reloc_shdr and check_one_reloc. 5005da0c48c4Sopenharmony_ci (check_rel): Likewise. 5006da0c48c4Sopenharmony_ci (check_program_header): Check that PT_DYNAMIC entry matches .dynamic 5007da0c48c4Sopenharmony_ci section. 5008da0c48c4Sopenharmony_ci Add checks that relocations against read-only segments are flagged, 5009da0c48c4Sopenharmony_ci that the text relocation flag is not set unnecessarily, and that 5010da0c48c4Sopenharmony_ci relocations in one section are either against loaded or not-loaded 5011da0c48c4Sopenharmony_ci segments. 5012da0c48c4Sopenharmony_ci 5013da0c48c4Sopenharmony_ci2005-08-01 Ulrich Drepper <drepper@redhat.com> 5014da0c48c4Sopenharmony_ci 5015da0c48c4Sopenharmony_ci * elfcmp.c (main): Ignore section count and section name string table 5016da0c48c4Sopenharmony_ci section index. 5017da0c48c4Sopenharmony_ci 5018da0c48c4Sopenharmony_ci2005-07-27 Roland McGrath <roland@redhat.com> 5019da0c48c4Sopenharmony_ci 5020da0c48c4Sopenharmony_ci * elfcmp.c: Include <locale.h>. 5021da0c48c4Sopenharmony_ci 5022da0c48c4Sopenharmony_ci2005-07-27 Ulrich Drepper <drepper@redhat.com> 5023da0c48c4Sopenharmony_ci 5024da0c48c4Sopenharmony_ci * elfcmp.c: Print name and index of differing section. 5025da0c48c4Sopenharmony_ci 5026da0c48c4Sopenharmony_ci2005-07-24 Ulrich Drepper <drepper@redhat.com> 5027da0c48c4Sopenharmony_ci 5028da0c48c4Sopenharmony_ci * elfcmp.c: Implement comparing gaps between sections. 5029da0c48c4Sopenharmony_ci 5030da0c48c4Sopenharmony_ci2005-07-23 Ulrich Drepper <drepper@redhat.com> 5031da0c48c4Sopenharmony_ci 5032da0c48c4Sopenharmony_ci * elflint.c: Include libeblP.h instead of libebl.h. 5033da0c48c4Sopenharmony_ci * nm.c: Likewise. 5034da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5035da0c48c4Sopenharmony_ci * elfcmp.c: Likewise. 5036da0c48c4Sopenharmony_ci 5037da0c48c4Sopenharmony_ci * elfcmp.c (main): Compare individual ELF header fields, excluding 5038da0c48c4Sopenharmony_ci e_shoff instead of the whole struct at once. 5039da0c48c4Sopenharmony_ci Use ebl_section_strip_p instead of SECTION_STRIP_P. 5040da0c48c4Sopenharmony_ci * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P. 5041da0c48c4Sopenharmony_ci 5042da0c48c4Sopenharmony_ci2005-07-22 Ulrich Drepper <drepper@redhat.com> 5043da0c48c4Sopenharmony_ci 5044da0c48c4Sopenharmony_ci * elfcmp.c (main): Take empty section into account when comparing 5045da0c48c4Sopenharmony_ci section content. 5046da0c48c4Sopenharmony_ci 5047da0c48c4Sopenharmony_ci * elflint.c (check_dynamic): Check that d_tag value is >= 0 before 5048da0c48c4Sopenharmony_ci using it. 5049da0c48c4Sopenharmony_ci 5050da0c48c4Sopenharmony_ci2005-07-21 Ulrich Drepper <drepper@redhat.com> 5051da0c48c4Sopenharmony_ci 5052da0c48c4Sopenharmony_ci * elfcmp.c: New file. 5053da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add elfcmp. 5054da0c48c4Sopenharmony_ci (elfcmp_LDADD): Define. 5055da0c48c4Sopenharmony_ci 5056da0c48c4Sopenharmony_ci * elflint.c (check_rela): Check that copy relocations only reference 5057da0c48c4Sopenharmony_ci object symbols or symbols with unknown type. 5058da0c48c4Sopenharmony_ci (check_rel): Likewise. 5059da0c48c4Sopenharmony_ci 5060da0c48c4Sopenharmony_ci2005-06-08 Roland McGrath <roland@redhat.com> 5061da0c48c4Sopenharmony_ci 5062da0c48c4Sopenharmony_ci * readelf.c (print_ops): Add consts. 5063da0c48c4Sopenharmony_ci 5064da0c48c4Sopenharmony_ci2005-05-31 Roland McGrath <roland@redhat.com> 5065da0c48c4Sopenharmony_ci 5066da0c48c4Sopenharmony_ci * readelf.c (print_debug_abbrev_section): Don't bail after first CU's 5067da0c48c4Sopenharmony_ci abbreviations. Print a header line before each CU section. 5068da0c48c4Sopenharmony_ci 5069da0c48c4Sopenharmony_ci * readelf.c (print_debug_loc_section): Fix indentation for larger 5070da0c48c4Sopenharmony_ci address size. 5071da0c48c4Sopenharmony_ci 5072da0c48c4Sopenharmony_ci2005-05-30 Roland McGrath <roland@redhat.com> 5073da0c48c4Sopenharmony_ci 5074da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Print section offset of each 5075da0c48c4Sopenharmony_ci CU's table, so they are easy to find from seeing the stmt_list value. 5076da0c48c4Sopenharmony_ci 5077da0c48c4Sopenharmony_ci * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>. 5078da0c48c4Sopenharmony_ci (attr_callback): Grok DW_AT_ranges and print offset in hex. 5079da0c48c4Sopenharmony_ci 5080da0c48c4Sopenharmony_ci * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format. 5081da0c48c4Sopenharmony_ci (print_debug_ranges_section, print_debug_loc_section): Likewise. 5082da0c48c4Sopenharmony_ci 5083da0c48c4Sopenharmony_ci * readelf.c (print_ops): Take different args for indentation control. 5084da0c48c4Sopenharmony_ci (attr_callback): Caller updated. 5085da0c48c4Sopenharmony_ci Grok several more block-form attributes as being location expressions. 5086da0c48c4Sopenharmony_ci For those same attributes with udata forms, format output differently 5087da0c48c4Sopenharmony_ci for location list offset. 5088da0c48c4Sopenharmony_ci (print_debug_loc_section): Implement it for real. 5089da0c48c4Sopenharmony_ci 5090da0c48c4Sopenharmony_ci * readelf.c (options): Mention ranges for --debug-dump. 5091da0c48c4Sopenharmony_ci (enum section_e): Add section_ranges. 5092da0c48c4Sopenharmony_ci (parse_opt): Grok "ranges" for -w/--debug-dump. 5093da0c48c4Sopenharmony_ci (print_debug_ranges_section): New function. 5094da0c48c4Sopenharmony_ci (print_debug): Handle .debug_ranges section. 5095da0c48c4Sopenharmony_ci 5096da0c48c4Sopenharmony_ci2005-05-30 Ulrich Drepper <drepper@redhat.com> 5097da0c48c4Sopenharmony_ci 5098da0c48c4Sopenharmony_ci * readelf.c (handle_notes): At least x86-64 need not have the note 5099da0c48c4Sopenharmony_ci section values aligned to 8 bytes. 5100da0c48c4Sopenharmony_ci 5101da0c48c4Sopenharmony_ci2005-05-18 Ulrich Drepper <drepper@redhat.com> 5102da0c48c4Sopenharmony_ci 5103da0c48c4Sopenharmony_ci * readelf.c (dwarf_tag_string): Add new tags. 5104da0c48c4Sopenharmony_ci 5105da0c48c4Sopenharmony_ci2005-05-08 Roland McGrath <roland@redhat.com> 5106da0c48c4Sopenharmony_ci 5107da0c48c4Sopenharmony_ci * strip.c (handle_elf): Don't translate hash and versym data formats, 5108da0c48c4Sopenharmony_ci elf_getdata already did it for us. 5109da0c48c4Sopenharmony_ci 5110da0c48c4Sopenharmony_ci2005-05-07 Ulrich Drepper <drepper@redhat.com> 5111da0c48c4Sopenharmony_ci 5112da0c48c4Sopenharmony_ci * Makefile.am (findtextrel_LDADD): Add $(libmudflap). 5113da0c48c4Sopenharmony_ci (addr2line_LDADD): Likewise. 5114da0c48c4Sopenharmony_ci 5115da0c48c4Sopenharmony_ci2005-05-03 Roland McGrath <roland@redhat.com> 5116da0c48c4Sopenharmony_ci 5117da0c48c4Sopenharmony_ci * strip.c (handle_elf): Apply symbol table fixups to discarded 5118da0c48c4Sopenharmony_ci relocation sections when they are being saved in the debug file. 5119da0c48c4Sopenharmony_ci 5120da0c48c4Sopenharmony_ci * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom 5121da0c48c4Sopenharmony_ci and gelf_xlatetof, not the native byte order. 5122da0c48c4Sopenharmony_ci 5123da0c48c4Sopenharmony_ci * strip.c (parse_opt): Give error if -f or -o is repeated. 5124da0c48c4Sopenharmony_ci (main): Exit if argp_parse returns nonzero. 5125da0c48c4Sopenharmony_ci 5126da0c48c4Sopenharmony_ci * strip.c (debug_fname_embed): New variable. 5127da0c48c4Sopenharmony_ci (options, parse_opt): New option -F to set it. 5128da0c48c4Sopenharmony_ci 5129da0c48c4Sopenharmony_ci2005-05-07 Ulrich Drepper <drepper@redhat.com> 5130da0c48c4Sopenharmony_ci 5131da0c48c4Sopenharmony_ci * readelf.c (parse_opt): Make any_control_option variable 5132da0c48c4Sopenharmony_ci local. Simplify some tests. 5133da0c48c4Sopenharmony_ci 5134da0c48c4Sopenharmony_ci2005-05-03 Roland McGrath <roland@redhat.com> 5135da0c48c4Sopenharmony_ci 5136da0c48c4Sopenharmony_ci * strip.c (crc32_file): Function removed (now in ../lib). 5137da0c48c4Sopenharmony_ci 5138da0c48c4Sopenharmony_ci2005-05-03 Roland McGrath <roland@redhat.com> 5139da0c48c4Sopenharmony_ci 5140da0c48c4Sopenharmony_ci * elflint.c (is_debuginfo): New variable. 5141da0c48c4Sopenharmony_ci (options, parse_opt): New option --debuginfo/-d to set it. 5142da0c48c4Sopenharmony_ci (check_sections): If is_debuginfo, don't complain about SHT_NOBITS. 5143da0c48c4Sopenharmony_ci (check_note): If is_debuginfo, don't try to get note contents. 5144da0c48c4Sopenharmony_ci 5145da0c48c4Sopenharmony_ci2005-04-24 Ulrich Drepper <drepper@redhat.com> 5146da0c48c4Sopenharmony_ci 5147da0c48c4Sopenharmony_ci * readelf.c (print_debug_abbrev_section): Don't print error when end of 5148da0c48c4Sopenharmony_ci section reached. 5149da0c48c4Sopenharmony_ci 5150da0c48c4Sopenharmony_ci2005-04-14 Ulrich Drepper <drepper@redhat.com> 5151da0c48c4Sopenharmony_ci 5152da0c48c4Sopenharmony_ci * readelf.c (dwarf_encoding_string): New function. 5153da0c48c4Sopenharmony_ci (dwarf_inline_string): New function. 5154da0c48c4Sopenharmony_ci (dwarf_access_string): New function. 5155da0c48c4Sopenharmony_ci (dwarf_visibility_string): New function. 5156da0c48c4Sopenharmony_ci (dwarf_virtuality_string): New function. 5157da0c48c4Sopenharmony_ci (dwarf_identifier_case_string): New function. 5158da0c48c4Sopenharmony_ci (dwarf_calling_convention_string): New function. 5159da0c48c4Sopenharmony_ci (dwarf_ordering_string): New function. 5160da0c48c4Sopenharmony_ci (dwarf_discr_list_string): New function. 5161da0c48c4Sopenharmony_ci (attr_callback): Decode man more attribute values. 5162da0c48c4Sopenharmony_ci 5163da0c48c4Sopenharmony_ci2005-04-01 Ulrich Drepper <drepper@redhat.com> 5164da0c48c4Sopenharmony_ci 5165da0c48c4Sopenharmony_ci * addr2line.c: Finish implementation of -f option. 5166da0c48c4Sopenharmony_ci 5167da0c48c4Sopenharmony_ci2005-03-29 Ulrich Drepper <drepper@redhat.com> 5168da0c48c4Sopenharmony_ci 5169da0c48c4Sopenharmony_ci * addr2line.c: New file. 5170da0c48c4Sopenharmony_ci * Makefile.am (bin_PROGRAMS): Add addr2line. 5171da0c48c4Sopenharmony_ci Define addr2line_LDADD. 5172da0c48c4Sopenharmony_ci 5173da0c48c4Sopenharmony_ci * findtextrel.c: Use new dwarf_addrdie function. 5174da0c48c4Sopenharmony_ci 5175da0c48c4Sopenharmony_ci * findtextrel.c: Fix usage message and re-add accidentally removed 5176da0c48c4Sopenharmony_ci line. 5177da0c48c4Sopenharmony_ci 5178da0c48c4Sopenharmony_ci2005-03-28 Ulrich Drepper <drepper@redhat.com> 5179da0c48c4Sopenharmony_ci 5180da0c48c4Sopenharmony_ci * findtextrel.c: New file. 5181da0c48c4Sopenharmony_ci * Makefile: Add rules to build findtextrel. 5182da0c48c4Sopenharmony_ci 5183da0c48c4Sopenharmony_ci2005-02-15 Ulrich Drepper <drepper@redhat.com> 5184da0c48c4Sopenharmony_ci 5185da0c48c4Sopenharmony_ci * ldlex.l: Provide ECHO definition to avoid warning. 5186da0c48c4Sopenharmony_ci 5187da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Fix typo in RELRO test. 5188da0c48c4Sopenharmony_ci 5189da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Add more warning options. 5190da0c48c4Sopenharmony_ci * elflint.c: Fix warnings introduced by the new warning options. 5191da0c48c4Sopenharmony_ci * i386_ld.c: Likewise. 5192da0c48c4Sopenharmony_ci * ld.c: Likewise. 5193da0c48c4Sopenharmony_ci * ld.h: Likewise. 5194da0c48c4Sopenharmony_ci * ldgeneric.c: Likewise. 5195da0c48c4Sopenharmony_ci * nm.c: Likewise. 5196da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5197da0c48c4Sopenharmony_ci * sectionhash.c: Likewise. 5198da0c48c4Sopenharmony_ci * size.c: Likewise. 5199da0c48c4Sopenharmony_ci * string.c: Likewise. 5200da0c48c4Sopenharmony_ci 5201da0c48c4Sopenharmony_ci2005-02-05 Ulrich Drepper <drepper@redhat.com> 5202da0c48c4Sopenharmony_ci 5203da0c48c4Sopenharmony_ci * Makefile.am: Check for text relocations in constructed DSOs. 5204da0c48c4Sopenharmony_ci 5205da0c48c4Sopenharmony_ci * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps 5206da0c48c4Sopenharmony_ci with -lmudflap. 5207da0c48c4Sopenharmony_ci 5208da0c48c4Sopenharmony_ci * ldscript.y: Add as_needed handling. 5209da0c48c4Sopenharmony_ci * ldlex.l: Recognize AS_NEEDED token. 5210da0c48c4Sopenharmony_ci * ld.h (struct filename_list): Add as_needed flag. 5211da0c48c4Sopenharmony_ci 5212da0c48c4Sopenharmony_ci2005-02-04 Ulrich Drepper <drepper@redhat.com> 5213da0c48c4Sopenharmony_ci 5214da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Correctly determine size of GOT section. 5215da0c48c4Sopenharmony_ci 5216da0c48c4Sopenharmony_ci2005-01-19 Ulrich Drepper <drepper@redhat.com> 5217da0c48c4Sopenharmony_ci 5218da0c48c4Sopenharmony_ci * ld.c: Remove unnecessary more_help function. Print bug report 5219da0c48c4Sopenharmony_ci address using argp. 5220da0c48c4Sopenharmony_ci * strip.c: Likewise. 5221da0c48c4Sopenharmony_ci * size.c: Likewise. 5222da0c48c4Sopenharmony_ci * nm.c: Likewise. 5223da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5224da0c48c4Sopenharmony_ci * elflint.c: Likewise. 5225da0c48c4Sopenharmony_ci 5226da0c48c4Sopenharmony_ci * elflint.c (main): Don't check for parameter problems here. 5227da0c48c4Sopenharmony_ci (parse_opt): Do it here, where we get informed about some of them 5228da0c48c4Sopenharmony_ci anyway. 5229da0c48c4Sopenharmony_ci 5230da0c48c4Sopenharmony_ci * readelf.c (main): Don't check for parameter problems here. 5231da0c48c4Sopenharmony_ci (parse_opt): Do it here, where we get informed about some of them 5232da0c48c4Sopenharmony_ci anyway. 5233da0c48c4Sopenharmony_ci 5234da0c48c4Sopenharmony_ci2005-01-11 Ulrich Drepper <drepper@redhat.com> 5235da0c48c4Sopenharmony_ci 5236da0c48c4Sopenharmony_ci * strip.c: Update copyright year. 5237da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5238da0c48c4Sopenharmony_ci * size.c: Likewise. 5239da0c48c4Sopenharmony_ci * nm.c: Likewise. 5240da0c48c4Sopenharmony_ci * ld.c: Likewise. 5241da0c48c4Sopenharmony_ci * elflint.c: Likewise. 5242da0c48c4Sopenharmony_ci 5243da0c48c4Sopenharmony_ci * elflint.c (check_symtab): Don't warn about wrong size for 5244da0c48c4Sopenharmony_ci _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld. 5245da0c48c4Sopenharmony_ci 5246da0c48c4Sopenharmony_ci2004-10-05 Ulrich Drepper <drepper@redhat.com> 5247da0c48c4Sopenharmony_ci 5248da0c48c4Sopenharmony_ci * readelf.c (print_phdr): In section mapping, also indicate 5249da0c48c4Sopenharmony_ci sections in read-only segments. 5250da0c48c4Sopenharmony_ci 5251da0c48c4Sopenharmony_ci2004-09-25 Ulrich Drepper <drepper@redhat.com> 5252da0c48c4Sopenharmony_ci 5253da0c48c4Sopenharmony_ci * readelf.c: Make compile with gcc 4.0. 5254da0c48c4Sopenharmony_ci * strip.c: Likewise. 5255da0c48c4Sopenharmony_ci 5256da0c48c4Sopenharmony_ci2004-08-16 Ulrich Drepper <drepper@redhat.com> 5257da0c48c4Sopenharmony_ci 5258da0c48c4Sopenharmony_ci * strip.c (handle_elf): Rewrite dynamic memory handling to use of 5259da0c48c4Sopenharmony_ci allocate to work around gcc 3.4 bug. 5260da0c48c4Sopenharmony_ci 5261da0c48c4Sopenharmony_ci2004-01-25 Ulrich Drepper <drepper@redhat.com> 5262da0c48c4Sopenharmony_ci 5263da0c48c4Sopenharmony_ci * ldlex.l (invalid_char): Better error message. 5264da0c48c4Sopenharmony_ci 5265da0c48c4Sopenharmony_ci2004-01-23 Ulrich Drepper <drepper@redhat.com> 5266da0c48c4Sopenharmony_ci 5267da0c48c4Sopenharmony_ci * readelf.c: Print SHT_GNU_LIBLIST sections. 5268da0c48c4Sopenharmony_ci 5269da0c48c4Sopenharmony_ci * none_ld.c: New file. 5270da0c48c4Sopenharmony_ci 5271da0c48c4Sopenharmony_ci2004-01-21 Ulrich Drepper <drepper@redhat.com> 5272da0c48c4Sopenharmony_ci 5273da0c48c4Sopenharmony_ci * Makefile.am: Enable building of machine specific linker. 5274da0c48c4Sopenharmony_ci 5275da0c48c4Sopenharmony_ci2004-01-20 Ulrich Drepper <drepper@redhat.com> 5276da0c48c4Sopenharmony_ci 5277da0c48c4Sopenharmony_ci * Makefile.am: Support building with mudflap. 5278da0c48c4Sopenharmony_ci 5279da0c48c4Sopenharmony_ci * i386_ld.c: Fix warnings gcc 3.4 spits out. 5280da0c48c4Sopenharmony_ci * ldgeneric.c: Likewise. 5281da0c48c4Sopenharmony_ci * ldscript.y: Likewise. 5282da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5283da0c48c4Sopenharmony_ci * strip.c: Likewise. 5284da0c48c4Sopenharmony_ci 5285da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Determine address size 5286da0c48c4Sopenharmony_ci correctly. 5287da0c48c4Sopenharmony_ci 5288da0c48c4Sopenharmony_ci2004-01-19 Ulrich Drepper <drepper@redhat.com> 5289da0c48c4Sopenharmony_ci 5290da0c48c4Sopenharmony_ci * readelf.c (print_phdr): Show which sections are covered by the 5291da0c48c4Sopenharmony_ci PT_GNU_RELRO entry. 5292da0c48c4Sopenharmony_ci 5293da0c48c4Sopenharmony_ci * elflint.c (check_program_header): Check PT_GNU_RELRO entry. 5294da0c48c4Sopenharmony_ci 5295da0c48c4Sopenharmony_ci * readelf.c (print_debug_macinfo_section): Implement. 5296da0c48c4Sopenharmony_ci 5297da0c48c4Sopenharmony_ci2004-01-18 Ulrich Drepper <drepper@redhat.com> 5298da0c48c4Sopenharmony_ci 5299da0c48c4Sopenharmony_ci * readelf.c (print_debug_line_section): Implement. 5300da0c48c4Sopenharmony_ci 5301da0c48c4Sopenharmony_ci2004-01-17 Ulrich Drepper <drepper@redhat.com> 5302da0c48c4Sopenharmony_ci 5303da0c48c4Sopenharmony_ci * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE. 5304da0c48c4Sopenharmony_ci * src/ld.c: Likewise. 5305da0c48c4Sopenharmony_ci * src/nm.c: Likewise. 5306da0c48c4Sopenharmony_ci * src/readelf.c: Likewise. 5307da0c48c4Sopenharmony_ci * src/size.c: Likewise. 5308da0c48c4Sopenharmony_ci * src/strip.c: Likewise. 5309da0c48c4Sopenharmony_ci 5310da0c48c4Sopenharmony_ci * strip.c: Add a few more unlikely. Reduce scope of some variables. 5311da0c48c4Sopenharmony_ci 5312da0c48c4Sopenharmony_ci * Makefile.am: Support building with mudflap. 5313da0c48c4Sopenharmony_ci 5314da0c48c4Sopenharmony_ci2004-01-16 Ulrich Drepper <drepper@redhat.com> 5315da0c48c4Sopenharmony_ci 5316da0c48c4Sopenharmony_ci * readelf.c (print_debug_info_section): Free dies memory. 5317da0c48c4Sopenharmony_ci 5318da0c48c4Sopenharmony_ci * readelf.c: Print .debug_info section content. 5319da0c48c4Sopenharmony_ci 5320da0c48c4Sopenharmony_ci2004-01-13 Ulrich Drepper <drepper@redhat.com> 5321da0c48c4Sopenharmony_ci 5322da0c48c4Sopenharmony_ci * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE. 5323da0c48c4Sopenharmony_ci 5324da0c48c4Sopenharmony_ci2004-01-12 Ulrich Drepper <drepper@redhat.com> 5325da0c48c4Sopenharmony_ci 5326da0c48c4Sopenharmony_ci * readelf.c (print_debug_aranges): Implement using libdw. 5327da0c48c4Sopenharmony_ci 5328da0c48c4Sopenharmony_ci2004-01-11 Ulrich Drepper <drepper@redhat.com> 5329da0c48c4Sopenharmony_ci 5330da0c48c4Sopenharmony_ci * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change. 5331da0c48c4Sopenharmony_ci 5332da0c48c4Sopenharmony_ci * readelf.c: Use libdw instead of libdwarf. Not all of the old 5333da0c48c4Sopenharmony_ci behavior is available yet. 5334da0c48c4Sopenharmony_ci * Makefile.am: Link readelf with libdw. Remove libdwarf include path. 5335da0c48c4Sopenharmony_ci 5336da0c48c4Sopenharmony_ci2004-01-09 Ulrich Drepper <drepper@redhat.com> 5337da0c48c4Sopenharmony_ci 5338da0c48c4Sopenharmony_ci * nm.c (get_local_names): Adjust call to dwarf_nextcu. 5339da0c48c4Sopenharmony_ci 5340da0c48c4Sopenharmony_ci * nm.c: Implement getting information about local variables. 5341da0c48c4Sopenharmony_ci 5342da0c48c4Sopenharmony_ci2004-01-07 Ulrich Drepper <drepper@redhat.com> 5343da0c48c4Sopenharmony_ci 5344da0c48c4Sopenharmony_ci * nm.c: Read also debug information for local symbols. 5345da0c48c4Sopenharmony_ci 5346da0c48c4Sopenharmony_ci2004-01-05 Ulrich Drepper <drepper@redhat.com> 5347da0c48c4Sopenharmony_ci 5348da0c48c4Sopenharmony_ci * nm.c: Shuffle dwarf handling code around so the maximum column 5349da0c48c4Sopenharmony_ci width can be computed ahead of printing. Avoid collection symbols 5350da0c48c4Sopenharmony_ci which are not printed anyway. 5351da0c48c4Sopenharmony_ci 5352da0c48c4Sopenharmony_ci * nm.c: Rewrite dwarf handling to use libdw. 5353da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Add -std parameter. 5354da0c48c4Sopenharmony_ci (INCLUDES): Find header in libdw subdir. 5355da0c48c4Sopenharmony_ci (nm_LDADD): Replace libdwarf with libdw. 5356da0c48c4Sopenharmony_ci 5357da0c48c4Sopenharmony_ci * elflint.c: Update copyright year. 5358da0c48c4Sopenharmony_ci * readelf.c: Likewise. 5359da0c48c4Sopenharmony_ci * size.c: Likewise. 5360da0c48c4Sopenharmony_ci * strip.c: Likewise. 5361da0c48c4Sopenharmony_ci * nm.c: Likewise. 5362da0c48c4Sopenharmony_ci 5363da0c48c4Sopenharmony_ci2003-12-31 Ulrich Drepper <drepper@redhat.com> 5364da0c48c4Sopenharmony_ci 5365da0c48c4Sopenharmony_ci * strip.c (process_file): Close file before returning. 5366da0c48c4Sopenharmony_ci 5367da0c48c4Sopenharmony_ci2003-11-19 Ulrich Drepper <drepper@redhat.com> 5368da0c48c4Sopenharmony_ci 5369da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic): Make column for tag name wider. 5370da0c48c4Sopenharmony_ci 5371da0c48c4Sopenharmony_ci2003-09-29 Ulrich Drepper <drepper@redhat.com> 5372da0c48c4Sopenharmony_ci 5373da0c48c4Sopenharmony_ci * readelf.c (handle_dynamic): Always terminate tag name with a space. 5374da0c48c4Sopenharmony_ci 5375da0c48c4Sopenharmony_ci2003-09-25 Ulrich Drepper <drepper@redhat.com> 5376da0c48c4Sopenharmony_ci 5377da0c48c4Sopenharmony_ci * strip.c (process_file): Don't mmap the input file, we modify the 5378da0c48c4Sopenharmony_ci data structures and don't want the change end up on disk. 5379da0c48c4Sopenharmony_ci 5380da0c48c4Sopenharmony_ci2003-09-23 Jakub Jelinek <jakub@redhat.com> 5381da0c48c4Sopenharmony_ci 5382da0c48c4Sopenharmony_ci * unaligned.h (union u_2ubyte_unaligned, 5383da0c48c4Sopenharmony_ci union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add 5384da0c48c4Sopenharmony_ci packed attribute. 5385da0c48c4Sopenharmony_ci (add_2ubyte_unaligned, add_4ubyte_unaligned, 5386da0c48c4Sopenharmony_ci add_8ubyte_unaligned): Avoid nesting bswap_NN macros. 5387da0c48c4Sopenharmony_ci Read/store value through _ptr->u instead of *_ptr. 5388da0c48c4Sopenharmony_ci 5389da0c48c4Sopenharmony_ci2003-09-22 Ulrich Drepper <drepper@redhat.com> 5390da0c48c4Sopenharmony_ci 5391da0c48c4Sopenharmony_ci * size.c (show_sysv): Change type of maxlen to int. 5392da0c48c4Sopenharmony_ci 5393da0c48c4Sopenharmony_ci * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit 5394da0c48c4Sopenharmony_ci buckets. 5395da0c48c4Sopenharmony_ci 5396da0c48c4Sopenharmony_ci * i386_ld.c: Many many fixes and extensions. 5397da0c48c4Sopenharmony_ci * ld.c: Likewise. 5398da0c48c4Sopenharmony_ci * ldgeneric.c: Likewise. 5399da0c48c4Sopenharmony_ci 5400da0c48c4Sopenharmony_ci2003-08-16 Ulrich Drepper <drepper@redhat.com> 5401da0c48c4Sopenharmony_ci 5402da0c48c4Sopenharmony_ci * ldgeneric.c (check_definition): Don't add symbol on dso_list if 5403da0c48c4Sopenharmony_ci the reference is from another DSO. 5404da0c48c4Sopenharmony_ci 5405da0c48c4Sopenharmony_ci2003-08-15 Ulrich Drepper <drepper@redhat.com> 5406da0c48c4Sopenharmony_ci 5407da0c48c4Sopenharmony_ci * ldgeneric.c (find_entry_point): It is no fatal error if no entry 5408da0c48c4Sopenharmony_ci point is found when creating a DSO. 5409da0c48c4Sopenharmony_ci 5410da0c48c4Sopenharmony_ci2003-08-14 Ulrich Drepper <drepper@redhat.com> 5411da0c48c4Sopenharmony_ci 5412da0c48c4Sopenharmony_ci * ld.c (main): Always call FLAG_UNRESOLVED. 5413da0c48c4Sopenharmony_ci * ldgeneric.c (ld_generic_flag_unresolved): Only complain about 5414da0c48c4Sopenharmony_ci undefined symbols if not creating DSO or ld_state.nodefs is not set. 5415da0c48c4Sopenharmony_ci 5416da0c48c4Sopenharmony_ci2003-08-13 Ulrich Drepper <drepper@redhat.com> 5417da0c48c4Sopenharmony_ci 5418da0c48c4Sopenharmony_ci * Makefile.in: Depend on libebl.a, not libebl.so. 5419da0c48c4Sopenharmony_ci 5420da0c48c4Sopenharmony_ci * ld.c (main): Mark stream for linker script as locked by caller. 5421da0c48c4Sopenharmony_ci (read_version_script): Likewise. 5422da0c48c4Sopenharmony_ci * ldlex.c: Define fread and fwrite to _unlocked variant. 5423da0c48c4Sopenharmony_ci 5424da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of 5425da0c48c4Sopenharmony_ci target_bswap_32. 5426da0c48c4Sopenharmony_ci * unaligned.h: Define target_bswap_16, target_bswap_32, and 5427da0c48c4Sopenharmony_ci target_bswap_64. 5428da0c48c4Sopenharmony_ci (store_2ubyte_unaligned, store_4ubyte_unaligned, 5429da0c48c4Sopenharmony_ci store_8ubyte_unaligned): Define using new macros. 5430da0c48c4Sopenharmony_ci 5431da0c48c4Sopenharmony_ci2003-08-12 Ulrich Drepper <drepper@redhat.com> 5432da0c48c4Sopenharmony_ci 5433da0c48c4Sopenharmony_ci * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access 5434da0c48c4Sopenharmony_ci possibly unaligned memory. Support use of big endian machines. 5435da0c48c4Sopenharmony_ci 5436da0c48c4Sopenharmony_ci2003-08-11 Ulrich Drepper <drepper@redhat.com> 5437da0c48c4Sopenharmony_ci 5438da0c48c4Sopenharmony_ci * Moved to CVS archive. 5439