X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fpdp11.c;h=adcf34da1deca84e19a3c454812f5231b733a844;hb=0490dd41ae89e66efd8b3cee122c189a481269de;hp=1f8c4061e9942df40bb4f552dbf5262f0b11cae3;hpb=fa1477dc34e6ce19b90ff0171074c295133730a3;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/pdp11.c b/bfd/pdp11.c index 1f8c4061e9..adcf34da1d 100644 --- a/bfd/pdp11.c +++ b/bfd/pdp11.c @@ -160,6 +160,7 @@ static bfd_boolean MY(write_object_contents) (bfd *); #undef N_REG #undef N_FN #undef N_EXT +#undef N_STAB #define N_TYPE 0x1f /* Type mask. */ #define N_UNDF 0x00 /* Undefined. */ #define N_ABS 0x01 /* Absolute. */ @@ -169,6 +170,7 @@ static bfd_boolean MY(write_object_contents) (bfd *); #define N_REG 0x14 /* Register symbol. */ #define N_FN 0x1f /* File name. */ #define N_EXT 0x20 /* External flag. */ +#define N_STAB 0xc0 /* Not relevant; modified aout64.h's 0xe0 to avoid N_EXT. */ #define RELOC_SIZE 2 @@ -1501,7 +1503,7 @@ NAME (aout, translate_symbol_table) (bfd *abfd, else return FALSE; - in->symbol.value = GET_SWORD (abfd, ext->e_value); + in->symbol.value = GET_WORD (abfd, ext->e_value); /* TODO: is 0 a safe value here? */ in->desc = 0; in->other = 0; @@ -2223,7 +2225,7 @@ NAME (aout, find_nearest_line) (bfd *abfd, size_t filelen, funclen; char *buf; - *filename_ptr = abfd->filename; + *filename_ptr = bfd_get_filename (abfd); *functionname_ptr = 0; *line_ptr = 0; if (discriminator_ptr) @@ -2345,8 +2347,7 @@ NAME (aout, find_nearest_line) (bfd *abfd, else funclen = strlen (bfd_asymbol_name (func)); - if (adata (abfd).line_buf != NULL) - free (adata (abfd).line_buf); + free (adata (abfd).line_buf); if (filelen + funclen == 0) adata (abfd).line_buf = buf = NULL; else @@ -2413,7 +2414,7 @@ NAME (aout, bfd_free_cached_info) (bfd *abfd) if (bfd_get_format (abfd) != bfd_object) return TRUE; -#define BFCI_FREE(x) if (x != NULL) { free (x); x = NULL; } +#define BFCI_FREE(x) do { free (x); x = NULL; } while (0) BFCI_FREE (obj_aout_symbols (abfd)); #ifdef USE_MMAP @@ -3912,26 +3913,14 @@ NAME (aout, final_link) (bfd *abfd, } } - if (aout_info.contents != NULL) - { - free (aout_info.contents); - aout_info.contents = NULL; - } - if (aout_info.relocs != NULL) - { - free (aout_info.relocs); - aout_info.relocs = NULL; - } - if (aout_info.symbol_map != NULL) - { - free (aout_info.symbol_map); - aout_info.symbol_map = NULL; - } - if (aout_info.output_syms != NULL) - { - free (aout_info.output_syms); - aout_info.output_syms = NULL; - } + free (aout_info.contents); + aout_info.contents = NULL; + free (aout_info.relocs); + aout_info.relocs = NULL; + free (aout_info.symbol_map); + aout_info.symbol_map = NULL; + free (aout_info.output_syms); + aout_info.output_syms = NULL; if (includes_hash_initialized) { bfd_hash_table_free (&aout_info.includes.root); @@ -3991,14 +3980,10 @@ NAME (aout, final_link) (bfd *abfd, return TRUE; error_return: - if (aout_info.contents != NULL) - free (aout_info.contents); - if (aout_info.relocs != NULL) - free (aout_info.relocs); - if (aout_info.symbol_map != NULL) - free (aout_info.symbol_map); - if (aout_info.output_syms != NULL) - free (aout_info.output_syms); + free (aout_info.contents); + free (aout_info.relocs); + free (aout_info.symbol_map); + free (aout_info.output_syms); if (includes_hash_initialized) bfd_hash_table_free (&aout_info.includes.root); return FALSE; @@ -4035,13 +4020,14 @@ aout_link_write_symbols (struct aout_final_link_info *flaginfo, bfd *input_bfd) discarding such symbols. */ if (strip != strip_all && (strip != strip_some - || bfd_hash_lookup (flaginfo->info->keep_hash, input_bfd->filename, + || bfd_hash_lookup (flaginfo->info->keep_hash, + bfd_get_filename (input_bfd), FALSE, FALSE) != NULL) && discard != discard_all) { H_PUT_8 (output_bfd, N_TEXT, outsym->e_type); strtab_index = add_to_stringtab (output_bfd, flaginfo->strtab, - input_bfd->filename, FALSE); + bfd_get_filename (input_bfd), FALSE); if (strtab_index == (bfd_size_type) -1) return FALSE; PUT_WORD (output_bfd, strtab_index, outsym->e_strx);