No longer need to sanitize away h8/s stuff.

This commit is contained in:
Jeff Law 1996-07-05 18:30:03 +00:00
parent 910d7df246
commit 34255b708c
6 changed files with 35 additions and 62 deletions

View File

@ -315,34 +315,6 @@ else
done
fi
h8s_files="archures.c coff-h8300.c coffcode.h cpu-h8300.c ChangeLog bfd-in2.h"
if ( echo $* | grep keep\-h8s > /dev/null ) ; then
for i in $h8s_files ; do
if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Keeping h8s stuff in $i
fi
fi
done
else
for i in $h8s_files ; do
if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
echo Removing traces of \"h8s\" from $i...
fi
cp $i new
sed '/start\-sanitize\-h8s/,/end-\sanitize\-h8s/d' < $i > new
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
if [ -n "${verbose}" ] ; then
echo Caching $i in .Recover...
fi
mv $i .Recover
fi
mv new $i
fi
done
fi
for i in * ; do
if test ! -d $i && (grep sanitize $i > /dev/null) ; then
echo '***' Some mentions of Sanitize are still left in $i! 1>&2

View File

@ -207,7 +207,6 @@ Tue Jun 18 15:17:36 1996 Jeffrey A. Law <law@rtl.cygnus.com>
* coff-h8300.c: Remove #if 0 code.
(compatable): Don't allow mixing/matching of different architectures.
start-sanitize-h8s
* archures.c (bfd_mach_h8300s): Add.
* bfd-in2.h: Rebuilt.
* coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
@ -220,7 +219,6 @@ start-sanitize-h8s
* cpu-h8300.c (h8300_scan): Likewise.
Add H8/S to bfd_h8300_arch list.
end-sanitize-h8s
Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
Added support for Alpha OpenVMS:

View File

@ -1,5 +1,5 @@
/* BFD library support routines for architectures.
Copyright (C) 1990, 91-95, 1996 Free Software Foundation, Inc.
Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@ -86,21 +86,22 @@ DESCRIPTION
.#define bfd_mach_i960_mc 4
.#define bfd_mach_i960_xa 5
.#define bfd_mach_i960_ca 6
. {* start-sanitize-i960xl *}
.#define bfd_mach_i960_xl 7
. {* end-sanitize-i960xl *}
.#define bfd_mach_i960_jx 7
.#define bfd_mach_i960_hx 8
.
. bfd_arch_a29k, {* AMD 29000 *}
. bfd_arch_sparc, {* SPARC *}
.#define bfd_mach_sparc 1
.{* The difference between v8plus and v9 is that v9 is a true 64 bit env. *}
.#define bfd_mach_sparc_v8plus 2
.#define bfd_mach_sparc_v8plusa 3 {* with ultrasparc add'ns *}
.#define bfd_mach_sparc_v9 4
.#define bfd_mach_sparc_v9a 5 {* with ultrasparc add'ns *}
.#define bfd_mach_sparc_sparclet 2
.#define bfd_mach_sparc_sparclite 3
.#define bfd_mach_sparc_v8plus 4
.#define bfd_mach_sparc_v8plusa 5 {* with ultrasparc add'ns *}
.#define bfd_mach_sparc_v9 6
.#define bfd_mach_sparc_v9a 7 {* with ultrasparc add'ns *}
.{* Nonzero if MACH has the v9 instruction set. *}
.#define bfd_mach_sparc_v9_p(mach) ((mach) != bfd_mach_sparc)
.#define bfd_mach_sparc_v9_p(mach) \
. ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
. bfd_arch_mips, {* MIPS Rxxxx *}
. bfd_arch_i386, {* Intel 386 *}
. bfd_arch_we32k, {* AT&T WE32xxx *}
@ -114,6 +115,7 @@ DESCRIPTION
. bfd_arch_h8300, {* Hitachi H8/300 *}
.#define bfd_mach_h8300 1
.#define bfd_mach_h8300h 2
.#define bfd_mach_h8300s 3
. bfd_arch_powerpc, {* PowerPC *}
. bfd_arch_rs6000, {* IBM RS/6000 *}
. bfd_arch_hppa, {* HP PA RISC *}
@ -126,9 +128,6 @@ DESCRIPTION
. bfd_arch_arm, {* Advanced Risc Machines ARM *}
. bfd_arch_ns32k, {* National Semiconductors ns32000 *}
. bfd_arch_w65, {* WDC 65816 *}
. {* start-sanitize-rce *}
. bfd_arch_rce, {* Motorola RCE *}
. {* end-sanitize-rce *}
. {* start-sanitize-arc *}
. bfd_arch_arc, {* Argonaut RISC Core *}
.#define bfd_mach_arc_base 0
@ -192,9 +191,6 @@ extern const bfd_arch_info_type bfd_mips_arch;
extern const bfd_arch_info_type bfd_powerpc_arch;
extern const bfd_arch_info_type bfd_rs6000_arch;
extern const bfd_arch_info_type bfd_sh_arch;
/* start-sanitize-rce */
extern const bfd_arch_info_type bfd_rce_arch;
/* end-sanitize-rce */
extern const bfd_arch_info_type bfd_sparc_arch;
extern const bfd_arch_info_type bfd_vax_arch;
extern const bfd_arch_info_type bfd_we32k_arch;
@ -225,9 +221,6 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
&bfd_powerpc_arch,
&bfd_rs6000_arch,
&bfd_sh_arch,
/* start-sanitize-rce */
&bfd_rce_arch,
/* end-sanitize-rce */
&bfd_sparc_arch,
&bfd_vax_arch,
&bfd_we32k_arch,

View File

@ -1192,6 +1192,7 @@ enum bfd_architecture
bfd_arch_h8300, /* Hitachi H8/300 */
#define bfd_mach_h8300 1
#define bfd_mach_h8300h 2
#define bfd_mach_h8300s 3
bfd_arch_powerpc, /* PowerPC */
bfd_arch_rs6000, /* IBM RS/6000 */
bfd_arch_hppa, /* HP PA RISC */
@ -1592,8 +1593,8 @@ relocation types already defined. */
BFD_RELOC_SPARC_6,
BFD_RELOC_SPARC_5,
/* Alpha ECOFF relocations. Some of these treat the symbol or "addend"
in some special way.
/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or
"addend" in some special way.
For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
writing; when reading, it will be the absolute section symbol. The
addend is the displacement in bytes of the "lda" instruction from
@ -1606,6 +1607,11 @@ relocations out, and is filled in with the file's GP value on
reading, for convenience. */
BFD_RELOC_ALPHA_GPDISP_LO16,
/* The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
relocation except that there is no accompanying GPDISP_LO16
relocation. */
BFD_RELOC_ALPHA_GPDISP,
/* The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
the assembler turns it into a LDQ instruction to load the address of
the symbol, and then fills in a register in the real instruction.

View File

@ -138,7 +138,8 @@ funcvec_hash_newfunc (entry, gen_table, string)
but it's not easily available here. */
if (bfd_get_mach (table->abfd) == bfd_mach_h8300)
table->offset += 2;
else if (bfd_get_mach (table->abfd) == bfd_mach_h8300h)
else if (bfd_get_mach (table->abfd) == bfd_mach_h8300h
|| bfd_get_mach (table->abfd) == bfd_mach_h8300s)
table->offset += 4;
else
return NULL;
@ -258,7 +259,7 @@ static reloc_howto_type howto_table[] =
#define SELECT_RELOC(x,howto) \
{ x.r_type = select_reloc(howto); }
#define BADMAG(x) (H8300BADMAG(x)&& H8300HBADMAG(x))
#define BADMAG(x) (H8300BADMAG(x) && H8300HBADMAG(x) && H8300SBADMAG(x))
#define H8300 1 /* Customize coffcode.h */
#define __A_MAGIC_SET__
@ -565,7 +566,8 @@ h8300_reloc16_estimate(abfd, input_section, reloc, shrink, link_info)
if ((bfd_get_mach (abfd) == bfd_mach_h8300
&& value >= 0xff00
&& value <= 0xffff)
|| (bfd_get_mach (abfd) == bfd_mach_h8300h
|| ((bfd_get_mach (abfd) == bfd_mach_h8300h
|| bfd_get_mach (abfd) == bfd_mach_h8300s)
&& value >= 0xffff00
&& value <= 0xffffff))
{
@ -587,7 +589,8 @@ h8300_reloc16_estimate(abfd, input_section, reloc, shrink, link_info)
/* The address is in 0xffff00..0xffffff inclusive on the h8300h,
then we can relax this mov.b */
if (bfd_get_mach (abfd) == bfd_mach_h8300h
if ((bfd_get_mach (abfd) == bfd_mach_h8300h
|| bfd_get_mach (abfd) == bfd_mach_h8300s)
&& value >= 0xffff00
&& value <= 0xffffff)
{
@ -1125,7 +1128,8 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
link_info,
input_section),
vectors_sec->contents + h->offset);
else if (bfd_get_mach (input_section->owner) == bfd_mach_h8300h)
else if (bfd_get_mach (input_section->owner) == bfd_mach_h8300h
|| bfd_get_mach (input_section->owner) == bfd_mach_h8300s)
bfd_put_32 (abfd,
bfd_coff_reloc16_get_value (reloc,
link_info,
@ -1294,7 +1298,8 @@ h8300_bfd_link_add_symbols(abfd, info)
takes 2 bytes on the h8300 and 4 bytes on the h8300h. */
if (bfd_get_mach (abfd) == bfd_mach_h8300)
h8300_coff_hash_table (info)->vectors_sec->_raw_size += 2;
else if (bfd_get_mach (abfd) == bfd_mach_h8300h)
else if (bfd_get_mach (abfd) == bfd_mach_h8300h
|| bfd_get_mach (abfd) == bfd_mach_h8300s)
h8300_coff_hash_table (info)->vectors_sec->_raw_size += 4;
}
}

View File

@ -1111,7 +1111,7 @@ coff_set_alignment_hook (abfd, section, scnhdr)
}
#endif
#ifdef COFF_WITH_PE
#ifdef COFF_IMAGE_WITH_PE
/* In a PE image file, the s_paddr field holds the virtual size of a
section, while the s_size field holds the raw size. */
if (hdr->s_paddr != 0)
@ -1499,7 +1499,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
break;
#endif
/* start-sanitize-h8s */
#ifdef H8300SMAGIC
case H8300SMAGIC:
arch = bfd_arch_h8300;
@ -1509,7 +1508,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
break;
#endif
/* end-sanitize-h8s */
#ifdef SH_ARCH_MAGIC_BIG
case SH_ARCH_MAGIC_BIG:
case SH_ARCH_MAGIC_LITTLE:
@ -1960,11 +1958,9 @@ coff_set_flags (abfd, magicp, flagsp)
case bfd_mach_h8300h:
*magicp = H8300HMAGIC;
return true;
/* start-sanitize-h8s */
case bfd_mach_h8300s:
*magicp = H8300SMAGIC;
return true;
/* end-sanitize-h8s */
}
break;
#endif
@ -2186,7 +2182,7 @@ coff_compute_section_file_positions (abfd)
#endif
current->filepos = sofar;
#ifdef COFF_WITH_PE
#ifdef COFF_IMAGE_WITH_PE
/* With PE we have to pad each section to be a multiple of its
page size too, and remember both sizes. */
@ -2464,6 +2460,9 @@ coff_write_object_contents (abfd)
section.s_size = current->_raw_size;
#ifdef COFF_WITH_PE
section.s_paddr = 0;
#endif
#ifdef COFF_IMAGE_WITH_PE
/* Reminder: s_paddr holds the virtual size of the section. */
if (coff_section_data (abfd, current) != NULL
&& pei_section_data (abfd, current) != NULL)