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