* external.h (GET_LINENO_LNNO): Use H_GET_32/16.
(PUT_LINENO_LNNO): Use H_PUT_32/16. * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC, GET_SCN_NLINNO): Use H_GET_32. (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO): Use H_PUT_32. * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout. * xcoff.h: White space changes.
This commit is contained in:
		| @@ -1,3 +1,14 @@ | ||||
| 2001-09-18  Alan Modra  <amodra@bigpond.net.au> | ||||
|  | ||||
| 	* external.h (GET_LINENO_LNNO): Use H_GET_32/16. | ||||
| 	(PUT_LINENO_LNNO): Use H_PUT_32/16. | ||||
| 	* m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC, | ||||
| 	GET_SCN_NLINNO): Use H_GET_32. | ||||
| 	(PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO): | ||||
| 	Use H_PUT_32. | ||||
| 	* ti.h: Formatting fixes.  Make use of H_GET_* and H_PUT_* throughout. | ||||
| 	* xcoff.h: White space changes. | ||||
|  | ||||
| 2001-09-05  Tom Rix <trix@redhat.com> | ||||
|  | ||||
| 	* xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags. | ||||
|   | ||||
| @@ -113,12 +113,12 @@ struct external_lineno | ||||
| #define	LINESZ	(4 + L_LNNO_SIZE) | ||||
|  | ||||
| #if L_LNNO_SIZE == 4 | ||||
| #define GET_LINENO_LNNO(abfd, ext)      bfd_h_get_32 (abfd,      (bfd_byte *) (ext->l_lnno)); | ||||
| #define PUT_LINENO_LNNO(abfd, val, ext) bfd_h_put_32 (abfd, val, (bfd_byte *) (ext->l_lnno)); | ||||
| #define GET_LINENO_LNNO H_GET_32 | ||||
| #define PUT_LINENO_LNNO H_PUT_32 | ||||
| #endif | ||||
| #if L_LNNO_SIZE == 2 | ||||
| #define GET_LINENO_LNNO(abfd, ext)     bfd_h_get_16 (abfd, (bfd_byte *) (ext->l_lnno)); | ||||
| #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_16 (abfd,val,  (bfd_byte *) (ext->l_lnno)); | ||||
| #define GET_LINENO_LNNO H_GET_16 | ||||
| #define PUT_LINENO_LNNO H_PUT_16 | ||||
| #endif | ||||
|  | ||||
| #endif /* not DO_NOT_DEFINE_LINENO */ | ||||
|   | ||||
| @@ -158,20 +158,22 @@ union external_auxent | ||||
|   } x_tv;			/* info about .tv section (in auxent of symbol .tv)) */ | ||||
| }; | ||||
|  | ||||
| #define GET_FCN_LNNOPTR(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *)ext->x_sym.x_fcnary.x_fcn.x_lnnoptr) | ||||
| #define GET_FCN_ENDNDX(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx) | ||||
| #define PUT_FCN_LNNOPTR(abfd, in, ext)  bfd_h_put_32(abfd,  in, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_lnnoptr) | ||||
| #define PUT_FCN_ENDNDX(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *)   ext->x_sym.x_fcnary.x_fcn.x_endndx) | ||||
| #define GET_LNSZ_SIZE(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_size) | ||||
| #define GET_LNSZ_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_lnno) | ||||
| #define PUT_LNSZ_LNNO(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_lnno) | ||||
| #define PUT_LNSZ_SIZE(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_size) | ||||
| #define GET_SCN_SCNLEN(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_scnlen) | ||||
| #define GET_SCN_NRELOC(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_nreloc) | ||||
| #define GET_SCN_NLINNO(abfd, ext)  bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_nlinno) | ||||
| #define PUT_SCN_SCNLEN(abfd,in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_scn.x_scnlen) | ||||
| #define PUT_SCN_NRELOC(abfd,in, ext) bfd_h_put_32(abfd, in, (bfd_byte *)ext->x_scn.x_nreloc) | ||||
| #define PUT_SCN_NLINNO(abfd,in, ext)  bfd_h_put_32(abfd,in, (bfd_byte *) ext->x_scn.x_nlinno) | ||||
| #define GET_LNSZ_SIZE(abfd, ext) \ | ||||
|   H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) | ||||
| #define GET_LNSZ_LNNO(abfd, ext) \ | ||||
|   H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_lnno) | ||||
| #define PUT_LNSZ_LNNO(abfd, in, ext) \ | ||||
|   H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_lnno) | ||||
| #define PUT_LNSZ_SIZE(abfd, in, ext) \ | ||||
|   H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_size) | ||||
| #define GET_SCN_NRELOC(abfd, ext) \ | ||||
|   H_GET_32 (abfd, ext->x_scn.x_nreloc) | ||||
| #define GET_SCN_NLINNO(abfd, ext) \ | ||||
|   H_GET_32 (abfd, ext->x_scn.x_nlinno) | ||||
| #define PUT_SCN_NRELOC(abfd, in, ext) \ | ||||
|   H_PUT_32 (abfd, in, ext->x_scn.x_nreloc) | ||||
| #define PUT_SCN_NLINNO(abfd, in, ext) \ | ||||
|   H_PUT_32 (abfd,in, ext->x_scn.x_nlinno) | ||||
|  | ||||
| #define	SYMENT	struct external_syment | ||||
| #define	SYMESZ	20 | ||||
|   | ||||
| @@ -92,16 +92,22 @@ struct external_filehdr | ||||
| /* we need to read/write an extra field in the coff file header */ | ||||
| #ifndef COFF_ADJUST_FILEHDR_IN_POST | ||||
| #define COFF_ADJUST_FILEHDR_IN_POST(abfd, src, dst) \ | ||||
| do { ((struct internal_filehdr *)(dst))->f_target_id = \ | ||||
| bfd_h_get_16(abfd, (bfd_byte *)(((FILHDR *)(src))->f_target_id)); \ | ||||
| } while(0) | ||||
|   do									\ | ||||
|     {									\ | ||||
|       ((struct internal_filehdr *)(dst))->f_target_id =			\ | ||||
| 	H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id);			\ | ||||
|     }									\ | ||||
|   while (0) | ||||
| #endif | ||||
|  | ||||
| #ifndef COFF_ADJUST_FILEHDR_OUT_POST | ||||
| #define COFF_ADJUST_FILEHDR_OUT_POST(abfd, src, dst) \ | ||||
| do { bfd_h_put_16(abfd, ((struct internal_filehdr *)(src))->f_target_id, \ | ||||
|              (bfd_byte *)(((FILHDR *)(dst))->f_target_id)); \ | ||||
| } while(0) | ||||
|   do									\ | ||||
|     {									\ | ||||
|       H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id,	\ | ||||
| 	       ((FILHDR *)(dst))->f_target_id);				\ | ||||
|     }									\ | ||||
|   while (0) | ||||
| #endif | ||||
|  | ||||
| #define	FILHDR	struct external_filehdr | ||||
| @@ -201,35 +207,39 @@ struct external_scnhdr { | ||||
|    accordingly  | ||||
|  */ | ||||
| #define GET_SCNHDR_NRELOC(ABFD, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, PTR)) | ||||
|   (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, PTR)) | ||||
| #define PUT_SCNHDR_NRELOC(ABFD, VAL, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,PTR)) | ||||
|   (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, PTR)) | ||||
| #define GET_SCNHDR_NLNNO(ABFD, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, (PTR)-2)) | ||||
|   (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -2)) | ||||
| #define PUT_SCNHDR_NLNNO(ABFD, VAL, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,(PTR)-2)) | ||||
|   (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -2)) | ||||
| #define GET_SCNHDR_FLAGS(ABFD, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, (PTR)-4)) | ||||
|   (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -4)) | ||||
| #define PUT_SCNHDR_FLAGS(ABFD, VAL, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,(PTR)-4)) | ||||
|   (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -4)) | ||||
| #define GET_SCNHDR_PAGE(ABFD, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_get_16 (ABFD,PTR) : bfd_h_get_8 (ABFD, (PTR)-7)) | ||||
|   (COFF2_P (ABFD) ? H_GET_16 (ABFD, PTR) : H_GET_8 (ABFD, (PTR) -7)) | ||||
| /* on output, make sure that the "reserved" field is zero */ | ||||
| #define PUT_SCNHDR_PAGE(ABFD, VAL, PTR) \ | ||||
| (COFF2_P(ABFD) ? bfd_h_put_16 (ABFD,VAL,PTR) : \ | ||||
| bfd_h_put_8 (ABFD,VAL,(PTR)-7), bfd_h_put_8 (ABFD, 0, (PTR)-8)) | ||||
|   (COFF2_P (ABFD) \ | ||||
|    ? H_PUT_16 (ABFD, VAL, PTR) \ | ||||
|    : H_PUT_8 (ABFD, VAL, (PTR) -7), H_PUT_8 (ABFD, 0, (PTR) -8)) | ||||
|  | ||||
| /* TI COFF stores section size as number of bytes (address units, not octets), | ||||
|    so adjust to be number of octets, which is what BFD expects */  | ||||
| #define GET_SCNHDR_SIZE(ABFD, SZP) \ | ||||
| (bfd_h_get_32(ABFD,SZP)*bfd_octets_per_byte(ABFD)) | ||||
|   (H_GET_32 (ABFD, SZP) * bfd_octets_per_byte (ABFD)) | ||||
| #define PUT_SCNHDR_SIZE(ABFD, SZ, SZP) \ | ||||
| bfd_h_put_32(ABFD,(SZ)/bfd_octets_per_byte(ABFD),SZP) | ||||
|   H_PUT_32 (ABFD, (SZ) / bfd_octets_per_byte (ABFD), SZP) | ||||
|  | ||||
| #define COFF_ADJUST_SCNHDR_IN_POST(ABFD, EXT, INT) \ | ||||
| do { ((struct internal_scnhdr *)(INT))->s_page = \ | ||||
| GET_SCNHDR_PAGE(ABFD,(bfd_byte *)((SCNHDR *)(EXT))->s_page); \ | ||||
| } while(0) | ||||
|   do									\ | ||||
|     {									\ | ||||
|       ((struct internal_scnhdr *)(INT))->s_page =			\ | ||||
| 	GET_SCNHDR_PAGE (ABFD, ((SCNHDR *)(EXT))->s_page);		\ | ||||
|     }									\ | ||||
|    while (0) | ||||
|  | ||||
| /* The line number and reloc overflow checking in coff_swap_scnhdr_out in | ||||
|    coffswap.h doesn't use PUT_X for s_nlnno and s_nreloc. | ||||
| @@ -237,16 +247,18 @@ GET_SCNHDR_PAGE(ABFD,(bfd_byte *)((SCNHDR *)(EXT))->s_page); \ | ||||
|    fields. | ||||
|  */ | ||||
| #define COFF_ADJUST_SCNHDR_OUT_POST(ABFD, INT, EXT) \ | ||||
| do { \ | ||||
|   do									   \ | ||||
|     {									   \ | ||||
|       PUT_SCNHDR_NLNNO (ABFD, ((struct internal_scnhdr *)(INT))->s_nlnno,  \ | ||||
|                 (bfd_byte *)((SCNHDR *)(EXT))->s_nlnno); \ | ||||
| 			((SCNHDR *)(EXT))->s_nlnno);			   \ | ||||
|       PUT_SCNHDR_NRELOC (ABFD, ((struct internal_scnhdr *)(INT))->s_nreloc,\ | ||||
|                 (bfd_byte *)((SCNHDR *)(EXT))->s_nreloc); \ | ||||
| 			 ((SCNHDR *)(EXT))->s_nreloc);			   \ | ||||
|       PUT_SCNHDR_FLAGS (ABFD, ((struct internal_scnhdr *)(INT))->s_flags,  \ | ||||
|                 (bfd_byte *)((SCNHDR *)(EXT))->s_flags); \ | ||||
| 			((SCNHDR *)(EXT))->s_flags);			   \ | ||||
|       PUT_SCNHDR_PAGE (ABFD, ((struct internal_scnhdr *)(INT))->s_page,    \ | ||||
|                 (bfd_byte *)((SCNHDR *)(EXT))->s_page); \ | ||||
| } while(0) | ||||
| 		       ((SCNHDR *)(EXT))->s_page);			   \ | ||||
|     }									   \ | ||||
|    while (0) | ||||
|  | ||||
| /* Page macros | ||||
|  | ||||
| @@ -387,32 +399,37 @@ union external_auxent { | ||||
|  | ||||
| /* section lengths are in target bytes (not host bytes) */ | ||||
| #define GET_SCN_SCNLEN(ABFD, EXT) \ | ||||
| (bfd_h_get_32(ABFD,(bfd_byte *)(EXT)->x_scn.x_scnlen)*bfd_octets_per_byte(ABFD)) | ||||
|   (H_GET_32 (ABFD, (EXT)->x_scn.x_scnlen) * bfd_octets_per_byte (ABFD)) | ||||
| #define PUT_SCN_SCNLEN(ABFD, INT, EXT) \ | ||||
| bfd_h_put_32(ABFD,(INT)/bfd_octets_per_byte(ABFD),\ | ||||
|              (bfd_byte *)(EXT)->x_scn.x_scnlen) | ||||
|   H_PUT_32 (ABFD, (INT) / bfd_octets_per_byte (ABFD), (EXT)->x_scn.x_scnlen) | ||||
|  | ||||
| /* lnsz size is in bits in COFF file, in bytes in BFD */ | ||||
| #define GET_LNSZ_SIZE(abfd, ext) \ | ||||
| (bfd_h_get_16(abfd, (bfd_byte *)ext->x_sym.x_misc.x_lnsz.x_size) / \ | ||||
|  (class != C_FIELD ? 8 : 1)) | ||||
|  (H_GET_16 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) / (class != C_FIELD ? 8 : 1)) | ||||
|  | ||||
| #define PUT_LNSZ_SIZE(abfd, in, ext) \ | ||||
|  bfd_h_put_16(abfd, ((class != C_FIELD) ? (in)*8 : (in)), \ | ||||
|               (bfd_byte*) ext->x_sym.x_misc.x_lnsz.x_size) | ||||
|   H_PUT_16 (abfd, ((class != C_FIELD) ? (in) * 8 : (in)), \ | ||||
| 	   ext->x_sym.x_misc.x_lnsz.x_size) | ||||
|   | ||||
| /* TI COFF stores offsets for MOS and MOU in bits; BFD expects bytes */ | ||||
| #define COFF_ADJUST_SYM_IN_POST(ABFD, EXT, INT) \ | ||||
| do { struct internal_syment *dst = (struct internal_syment *)(INT); \ | ||||
| if (dst->n_sclass == C_MOS || dst->n_sclass == C_MOU) dst->n_value /= 8; \ | ||||
| } while (0) | ||||
|   do									\ | ||||
|     {									\ | ||||
|       struct internal_syment *dst = (struct internal_syment *)(INT);	\ | ||||
|       if (dst->n_sclass == C_MOS || dst->n_sclass == C_MOU)		\ | ||||
| 	dst->n_value /= 8;						\ | ||||
|     }									\ | ||||
|    while (0) | ||||
|  | ||||
| #define COFF_ADJUST_SYM_OUT_POST(ABFD, INT, EXT) \ | ||||
| do { struct internal_syment *src = (struct internal_syment *)(INT); \ | ||||
|   do									\ | ||||
|     {									\ | ||||
|        struct internal_syment *src = (struct internal_syment *)(INT);	\ | ||||
|        SYMENT *dst = (SYMENT *)(EXT);					\ | ||||
|        if (src->n_sclass == C_MOU || src->n_sclass == C_MOS)		\ | ||||
| bfd_h_put_32(abfd,src->n_value * 8,(bfd_byte *)dst->e_value); \ | ||||
| } while (0) | ||||
| 	 H_PUT_32 (abfd, src->n_value * 8, dst->e_value);		\ | ||||
|     }									\ | ||||
|    while (0) | ||||
|  | ||||
| /* Detect section-relative absolute symbols so they get flagged with a sym | ||||
|    index of -1. | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| /* Internal format of XCOFF object file data structures for BFD. | ||||
|  | ||||
|    Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. | ||||
|    Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001 | ||||
|    Free Software Foundation, Inc. | ||||
|    Written by Ian Lance Taylor <ian@cygnus.com>, Cygnus Support. | ||||
|  | ||||
|    This file is part of BFD, the Binary File Descriptor library. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user