aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorSean Eric Fagan <sef@cygnus>1992-11-04 21:57:47 +0000
committerSean Eric Fagan <sef@cygnus>1992-11-04 21:57:47 +0000
commit061a65a56f63ceb3d1d7c3aede7133f31f3814e5 (patch)
treeafb3c66499810533b4bad31e4f4efb0e45e189a6 /bfd/coffcode.h
parenta521e93a8e61ace6e58e063719c385c2d1217159 (diff)
downloadgdb-061a65a56f63ceb3d1d7c3aede7133f31f3814e5.zip
gdb-061a65a56f63ceb3d1d7c3aede7133f31f3814e5.tar.gz
gdb-061a65a56f63ceb3d1d7c3aede7133f31f3814e5.tar.bz2
(Duplicate change from p3.)
Only change coff auxent header fields when the circumstances require it. or at least warrant.
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index a3c03b7..4f615dd 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -650,7 +650,7 @@ DEFUN(coff_swap_aux_in,(abfd, ext1, type, class, in1),
in->x_sym.x_tvndx = bfd_h_get_16(abfd, (bfd_byte *) ext->x_sym.x_tvndx);
#endif
- if (ISARY(type) || class == C_BLOCK) {
+ if (ISARY(type)) {
#if DIMNUM != E_DIMNUM
-> Error, we need to cope with truncating or extending DIMNUM!;
#else
@@ -660,8 +660,10 @@ DEFUN(coff_swap_aux_in,(abfd, ext1, type, class, in1),
in->x_sym.x_fcnary.x_ary.x_dimen[3] = bfd_h_get_16(abfd, (bfd_byte *) ext->x_sym.x_fcnary.x_ary.x_dimen[3]);
#endif
}
- in->x_sym.x_fcnary.x_fcn.x_lnnoptr = GET_FCN_LNNOPTR(abfd, ext);
- in->x_sym.x_fcnary.x_fcn.x_endndx.l = GET_FCN_ENDNDX(abfd, ext);
+ if (class == C_BLOCK || ISFCN(type) || ISTAG(type)) {
+ in->x_sym.x_fcnary.x_fcn.x_lnnoptr = GET_FCN_LNNOPTR(abfd, ext);
+ in->x_sym.x_fcnary.x_fcn.x_endndx.l = GET_FCN_ENDNDX(abfd, ext);
+ }
if (ISFCN(type)) {
in->x_sym.x_misc.x_fsize = bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_misc.x_fsize);
@@ -735,14 +737,16 @@ DEFUN(coff_swap_aux_out,(abfd, inp, type, class, extp),
bfd_h_put_16(abfd, in->x_sym.x_tvndx , (bfd_byte *) ext->x_sym.x_tvndx);
#endif
- PUT_FCN_LNNOPTR(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, ext);
- PUT_FCN_ENDNDX(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, ext);
+ if (class == C_BLOCK || ISFCN(type) || ISTAG(type)) {
+ PUT_FCN_LNNOPTR(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, ext);
+ PUT_FCN_ENDNDX(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, ext);
+ }
if (ISFCN(type)) {
PUTWORD(abfd, in->x_sym.x_misc.x_fsize, (bfd_byte *) ext->x_sym.x_misc.x_fsize);
}
else {
- if (ISARY(type) || class == C_BLOCK) {
+ if (ISARY(type)) {
#if DIMNUM != E_DIMNUM
-> Error, we need to cope with truncating or extending DIMNUM!;
#else