diff options
author | Robert de Bath <rdebath@poboxes.com> | 2005-01-23 15:31:04 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:48:50 +0200 |
commit | 62c27c1c5cb6257b13dfc9be0394e0d2e86f2735 (patch) | |
tree | f702b7e5f80293367e1b6f9812bd45e80378be26 /ld | |
parent | 6cb598cc5f1c8ae6d14381c2776338584368257e (diff) | |
download | dev86-62c27c1c5cb6257b13dfc9be0394e0d2e86f2735.tar.gz |
Import Dev86src-0.16.17.tar.gzv0.16.17
Diffstat (limited to 'ld')
-rw-r--r-- | ld/mkar.c | 5 | ||||
-rw-r--r-- | ld/obj.h | 4 | ||||
-rw-r--r-- | ld/objdump86.c | 15 |
3 files changed, 15 insertions, 9 deletions
@@ -14,8 +14,13 @@ static struct ar_hdr arbuf; +#ifdef __STDC__ void ld86r(int argc, char ** argv) +#else +ld86r(argc, argv) + int argc; char ** argv; +#endif { char buf[128]; FILE * fd, * ifd; @@ -4,10 +4,6 @@ #define OBJ_H -#ifdef I80386 -# define LONG_OFFSETS /* others can use this, but wasteful */ -#endif - #ifndef OMAGIC # ifdef I80386 # define OMAGIC 0x86A3 diff --git a/ld/objdump86.c b/ld/objdump86.c index d477f3b..003f04c 100644 --- a/ld/objdump86.c +++ b/ld/objdump86.c @@ -22,6 +22,7 @@ #include <malloc.h> #endif #include <string.h> +#include "const.h" #include "ar.h" #include "obj.h" @@ -78,6 +79,8 @@ int display_mode = 0; int multiple_files = 0; int byte_order = 0; +int opt_o; + long size_text, size_data, size_bss; long tot_size_text=0, tot_size_data=0, tot_size_bss=0; @@ -104,6 +107,7 @@ char ** argv; { case 's': display_mode = 1; break; case 'n': display_mode = 2; break; + case 'o': opt_o++; break; } else multiple_files++; @@ -382,9 +386,6 @@ read_syms() symtab = calloc(num_syms, sizeof(*symtab)); if( symtab == 0 ) return error("Out of memory"); - if(display_mode == 2 && multiple_files) - printf("\n%s:\n", ifname); - for(i=0; i<num_syms; i++) { unsigned int symtype; @@ -411,7 +412,7 @@ disp_syms() { int i; - if(display_mode == 2 && multiple_files) + if(display_mode == 2 && multiple_files && !opt_o) printf("\n%s:\n", ifname); for(i=0; i<num_syms; i++) @@ -444,6 +445,8 @@ disp_syms() } if( display_mode == 2 ) { + if (opt_o) + printf("%s: ", ifname); if( symtype == 0x004f || symtype == 0x0040 ) printf(" "); else @@ -788,7 +791,7 @@ nm_aout() if( bytes_left == 0 ) printf("No symbols in '%s'\n", ifname); - else if(multiple_files) + else if(multiple_files && !opt_o) printf("\n%s:\n", ifname); while(bytes_left > 16) @@ -807,6 +810,8 @@ nm_aout() } if( pending_nl ) putchar('\n'); + if (opt_o) + printf("%s: ", ifname); if( n_sclass == 0x10 ) printf(" "); else |