summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>2005-01-23 15:31:04 +0100
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:48:50 +0200
commit62c27c1c5cb6257b13dfc9be0394e0d2e86f2735 (patch)
treef702b7e5f80293367e1b6f9812bd45e80378be26 /ld
parent6cb598cc5f1c8ae6d14381c2776338584368257e (diff)
downloaddev86-62c27c1c5cb6257b13dfc9be0394e0d2e86f2735.tar.gz
Import Dev86src-0.16.17.tar.gzv0.16.17
Diffstat (limited to 'ld')
-rw-r--r--ld/mkar.c5
-rw-r--r--ld/obj.h4
-rw-r--r--ld/objdump86.c15
3 files changed, 15 insertions, 9 deletions
diff --git a/ld/mkar.c b/ld/mkar.c
index 96163b7..8c4eb5b 100644
--- a/ld/mkar.c
+++ b/ld/mkar.c
@@ -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;
diff --git a/ld/obj.h b/ld/obj.h
index 7159a5d..ddfa7a1 100644
--- a/ld/obj.h
+++ b/ld/obj.h
@@ -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