aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-04-17 16:22:44 +0000
committerSteve Chamberlain <sac@cygnus>1992-04-17 16:22:44 +0000
commite59320117ef2161f271698ede38593710bfe77f1 (patch)
treee2a38d4d9a0aacdcbbf81d349dbdcf344148c401
parent267998d84ff3c8eeb3dab12984adffc7f3cadeee (diff)
downloadgdb-e59320117ef2161f271698ede38593710bfe77f1.zip
gdb-e59320117ef2161f271698ede38593710bfe77f1.tar.gz
gdb-e59320117ef2161f271698ede38593710bfe77f1.tar.bz2
Fri Apr 17 09:15:31 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* bfd.c, Makefile.in: added tekhex * aoutx.h (set_section_contents): pages should be padded to the size of a page, not the size of a segment. * configure.in: added go32 host and i386-aout target. * i386aout.c, libaout.h: now works for go32 target * ieee.c: fix bit rot. * seclet.c: support for padding seclet type.
-rw-r--r--bfd/Makefile.dos14
-rw-r--r--bfd/hosts/go32.h1
-rw-r--r--bfd/seclet.c55
3 files changed, 34 insertions, 36 deletions
diff --git a/bfd/Makefile.dos b/bfd/Makefile.dos
index b7bcacd..54bdff6 100644
--- a/bfd/Makefile.dos
+++ b/bfd/Makefile.dos
@@ -89,10 +89,10 @@ CFLAGS = -g -O $(HDEFINES) $(TDEFINES) $(CSEARCH) $(CSWITCHES) # -DINTEL960VERSI
BFD_LIBS = libbfd.o opncls.o bfd.o archive.o targets.o cache.o \
archures.o core.o section.o format.o syms.o reloc.o init.o ctor.o seclet.o
-BFD_MACHINES = cpu-h8300.o cpu-i960.o cpu-sparc.o cpu-m68k.o cpu-m88k.o \
- cpu-vax.o cpu-mips.o cpu-a29k.o cpu-i386.o cpu-rs6000.o
+BFD_MACHINES = cpu-h8300.o
-BFD_BACKENDS = ieee.o srec.o coff-h8300.o
+
+BFD_BACKENDS = ieee.o srec.o coff-h83.o
@@ -113,10 +113,10 @@ BFD_H=$(INCDIR)/bfd.h
CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c archures.c \
coff-i386.c aout64.c aout32.c sunos.c demo64.c coff-i960.c srec.c \
oasys.c ieee.c coff-m68k.c coff-a29k.c coff-rs6000.c \
- format.c section.c core.c syms.c stab-syms.c reloc.c init.c ctor.c seclet.c \
+ format.c section.c core.c syms.c reloc.c init.c ctor.c seclet.c \
coff-m88k.c coff-mips.c trad-core.c newsos3.c i386aout.c bout.c elf.c \
cpu-h8300.c cpu-i960.c cpu-sparc.c cpu-m68k.c cpu-m88k.c \
- cpu-vax.c cpu-mips.c cpu-a29k.c cpu-i386.c cpu-rs6000.c coff-h8300.c
+ cpu-vax.c cpu-mips.c cpu-a29k.c cpu-i386.c cpu-rs6000.c coff-h83.c
STAGESTUFF = $(TARGETLIB) $(OFILES)
@@ -352,7 +352,7 @@ oasys.o : oasys.c $(INCDIR)/bfd.h $(INCDIR)/obstack.h libbfd.h \
$(INCDIR)/oasys.h liboasys.h
ieee.o : ieee.c $(INCDIR)/bfd.h $(INCDIR)/obstack.h libbfd.h \
$(INCDIR)/ieee.h libieee.h
-coff-h8300.o: coff-h8300.c $(INCDIR)/bfd.h $(INCDIR)/obstack.h libbfd.h \
+coff-h83.o: coff-h83.c $(INCDIR)/bfd.h $(INCDIR)/obstack.h libbfd.h \
$(INCDIR)/coff/h8300.h $(INCDIR)/coff/internal.h libcoff.h coffcode.h
format.o : format.c $(INCDIR)/bfd.h \
$(INCDIR)/obstack.h libbfd.h
@@ -362,7 +362,7 @@ core.o : core.c $(INCDIR)/bfd.h \
$(INCDIR)/obstack.h libbfd.h
syms.o : syms.c $(INCDIR)/bfd.h \
$(INCDIR)/obstack.h libbfd.h
-syms.o : stab-syms.c
+
reloc.o : reloc.c $(INCDIR)/bfd.h \
$(INCDIR)/obstack.h libbfd.h
diff --git a/bfd/hosts/go32.h b/bfd/hosts/go32.h
index a5de5f9..92d80bc 100644
--- a/bfd/hosts/go32.h
+++ b/bfd/hosts/go32.h
@@ -6,6 +6,7 @@
#include <ctype.h>
#include <string.h>
#include <sys/file.h>
+#include <stdlib.h>
#ifndef O_ACCMODE
#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
#endif
diff --git a/bfd/seclet.c b/bfd/seclet.c
index 8deef00..e030488 100644
--- a/bfd/seclet.c
+++ b/bfd/seclet.c
@@ -42,7 +42,6 @@ DEFUN(bfd_new_seclet,(abfd, section),
section->seclets_tail = n;
return n;
-
}
@@ -61,24 +60,16 @@ DEFUN(rel,(abfd, seclet, output_section),
bfd_byte *data;
if (output_section->flags & SEC_HAS_CONTENTS )
{
-
- data = bfd_get_relocated_section_contents(abfd, seclet);
-
- if(bfd_set_section_contents(abfd,
- output_section,
- data,
- seclet->offset,
- seclet->size) == false)
- {
- abort();
+ data = bfd_get_relocated_section_contents(abfd, seclet);
+ if(bfd_set_section_contents(abfd,
+ output_section,
+ data,
+ seclet->offset,
+ seclet->size) == false)
+ {
+ abort();
+ }
}
-
-}
-
-
-
-
-
}
void
@@ -89,21 +80,29 @@ DEFUN(seclet_dump_seclet,(abfd, seclet, section),
{
switch (seclet->type)
{
-
- case bfd_indirect_seclet:
+ case bfd_indirect_seclet:
/* The contents of this section come from another one somewhere
else */
rel(abfd, seclet, section);
-
-
break;
-
- default:
+ case bfd_fill_seclet:
+ /* Fill in the section with us */
+ {
+ char *d = malloc(seclet->size);
+ unsigned int i;
+ for (i =0; i < seclet->size; i+=2) {
+ d[i] = seclet->u.fill.value >> 8;
+ }
+ for (i = 1; i < seclet->size; i+=2) {
+ d[i] = seclet->u.fill.value ;
+ }
+ bfd_set_section_contents(abfd, section, d, seclet->offset, seclet->size);
+
+ }
+ break;
+ default:
abort();
}
-
-
-
}
void
@@ -122,8 +121,6 @@ DEFUN(seclet_dump,(abfd),
seclet_dump_seclet(abfd, p, o);
p = p ->next;
}
-
o = o->next;
}
-
}