summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/bfd/ppcboot.c
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2000-09-12 19:13:03 +0000
committerMarc Espie <espie@cvs.openbsd.org>2000-09-12 19:13:03 +0000
commit1b50fce4c0ed748c156af3ac629e50cb5e4d0ef4 (patch)
treeedee61faabd18b4a5d84e8cdb679d7a8d1fe171f /gnu/usr.bin/binutils/bfd/ppcboot.c
parent9f1193e30b5f04af9ea81c644eec79b7b535b890 (diff)
Help stupid cvs fixing basic conflicts.
Diffstat (limited to 'gnu/usr.bin/binutils/bfd/ppcboot.c')
-rw-r--r--gnu/usr.bin/binutils/bfd/ppcboot.c72
1 files changed, 39 insertions, 33 deletions
diff --git a/gnu/usr.bin/binutils/bfd/ppcboot.c b/gnu/usr.bin/binutils/bfd/ppcboot.c
index 03f98ddb175..9441848b3d3 100644
--- a/gnu/usr.bin/binutils/bfd/ppcboot.c
+++ b/gnu/usr.bin/binutils/bfd/ppcboot.c
@@ -1,5 +1,5 @@
/* BFD back-end for PPCbug boot records.
- Copyright 1996 Free Software Foundation, Inc.
+ Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
Written by Michael Meissner, Cygnus Support, <meissner@cygnus.com>
This file is part of BFD, the Binary File Descriptor library.
@@ -64,7 +64,11 @@ typedef struct ppcboot_hdr {
bfd_byte os_id; /* OS_ID */
char partition_name[32]; /* partition name */
bfd_byte reserved1[470]; /* reserved */
-} ppcboot_hdr_t;
+}
+#ifdef __GNUC__
+ __attribute__ ((packed))
+#endif
+ppcboot_hdr_t;
/* Signature bytes for last 2 bytes of the 512 byte record */
#define SIGNATURE0 0x55
@@ -85,6 +89,8 @@ typedef struct ppcboot_data {
static boolean ppcboot_mkobject PARAMS ((bfd *));
static const bfd_target *ppcboot_object_p PARAMS ((bfd *));
+static boolean ppcboot_set_arch_mach
+ PARAMS ((bfd *, enum bfd_architecture, unsigned long));
static boolean ppcboot_get_section_contents
PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
static long ppcboot_get_symtab_upper_bound PARAMS ((bfd *));
@@ -95,6 +101,7 @@ static void ppcboot_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));
static boolean ppcboot_set_section_contents
PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
static int ppcboot_sizeof_headers PARAMS ((bfd *, boolean));
+static boolean ppcboot_bfd_print_private_bfd_data PARAMS ((bfd *, PTR));
#define ppcboot_set_tdata(abfd, ptr) ((abfd)->tdata.any = (PTR) (ptr))
#define ppcboot_get_tdata(abfd) ((ppcboot_data_t *) ((abfd)->tdata.any))
@@ -113,7 +120,7 @@ ppcboot_mkobject (abfd)
/* Set the architecture to PowerPC */
-boolean
+static boolean
ppcboot_set_arch_mach (abfd, arch, machine)
bfd *abfd;
enum bfd_architecture arch;
@@ -140,7 +147,7 @@ ppcboot_object_p (abfd)
struct stat statbuf;
asection *sec;
ppcboot_hdr_t hdr;
- int i;
+ size_t i;
ppcboot_data_t *tdata;
BFD_ASSERT (sizeof (ppcboot_hdr_t) == 1024);
@@ -158,7 +165,7 @@ ppcboot_object_p (abfd)
return NULL;
}
- if (statbuf.st_size < sizeof (ppcboot_hdr_t))
+ if ((size_t) statbuf.st_size < sizeof (ppcboot_hdr_t))
{
bfd_set_error (bfd_error_wrong_format);
return NULL;
@@ -222,7 +229,7 @@ ppcboot_object_p (abfd)
static boolean
ppcboot_get_section_contents (abfd, section, location, offset, count)
bfd *abfd;
- asection *section;
+ asection *section ATTRIBUTE_UNUSED;
PTR location;
file_ptr offset;
bfd_size_type count;
@@ -238,7 +245,7 @@ ppcboot_get_section_contents (abfd, section, location, offset, count)
static long
ppcboot_get_symtab_upper_bound (abfd)
- bfd *abfd;
+ bfd *abfd ATTRIBUTE_UNUSED;
{
return (PPCBOOT_SYMS + 1) * sizeof (asymbol *);
}
@@ -267,7 +274,7 @@ mangle_name (abfd, suffix)
/* Change any non-alphanumeric characters to underscores. */
for (p = buf; *p; p++)
- if (! isalnum (*p))
+ if (! isalnum ((unsigned char) *p))
*p = '_';
return buf;
@@ -337,14 +344,14 @@ ppcboot_make_empty_symbol (abfd)
static void
ppcboot_get_symbol_info (ignore_abfd, symbol, ret)
- bfd *ignore_abfd;
+ bfd *ignore_abfd ATTRIBUTE_UNUSED;
asymbol *symbol;
symbol_info *ret;
{
bfd_symbol_info (symbol, ret);
}
-#define ppcboot_bfd_is_local_label bfd_generic_is_local_label
+#define ppcboot_bfd_is_local_label_name bfd_generic_is_local_label_name
#define ppcboot_get_lineno _bfd_nosymbols_get_lineno
#define ppcboot_find_nearest_line _bfd_nosymbols_find_nearest_line
#define ppcboot_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
@@ -356,10 +363,6 @@ ppcboot_get_symbol_info (ignore_abfd, symbol, ret)
#define ppcboot_canonicalize_reloc \
((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) bfd_0l)
#define ppcboot_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
-
-/* Set the architecture of a ppcboot file. */
-#define ppcboot_set_arch_mach ppcboot_set_arch_mach
-
/* Write section contents of a ppcboot file. */
@@ -396,8 +399,8 @@ ppcboot_set_section_contents (abfd, sec, data, offset, size)
static int
ppcboot_sizeof_headers (abfd, exec)
- bfd *abfd;
- boolean exec;
+ bfd *abfd ATTRIBUTE_UNUSED;
+ boolean exec ATTRIBUTE_UNUSED;
{
return sizeof (ppcboot_hdr_t);
}
@@ -405,34 +408,34 @@ ppcboot_sizeof_headers (abfd, exec)
/* Print out the program headers. */
-boolean
+static boolean
ppcboot_bfd_print_private_bfd_data (abfd, farg)
bfd *abfd;
PTR farg;
{
FILE *f = (FILE *)farg;
ppcboot_data_t *tdata = ppcboot_get_tdata (abfd);
- long entry_offset = bfd_getl_signed_32 ((PTR) &tdata->header.entry_offset);
- long length = bfd_getl_signed_32 ((PTR) &tdata->header.length);
+ long entry_offset = bfd_getl_signed_32 ((PTR) tdata->header.entry_offset);
+ long length = bfd_getl_signed_32 ((PTR) tdata->header.length);
int i;
- fprintf (f, "\nppcboot header:\n");
- fprintf (f, "Entry offset = 0x%.8lx (%ld)\n", entry_offset, entry_offset);
- fprintf (f, "Length = 0x%.8lx (%ld)\n", length, length);
+ fprintf (f, _("\nppcboot header:\n"));
+ fprintf (f, _("Entry offset = 0x%.8lx (%ld)\n"), entry_offset, entry_offset);
+ fprintf (f, _("Length = 0x%.8lx (%ld)\n"), length, length);
if (tdata->header.flags)
- fprintf (f, "Flag field = 0x%.2x\n", tdata->header.flags);
+ fprintf (f, _("Flag field = 0x%.2x\n"), tdata->header.flags);
if (tdata->header.os_id)
fprintf (f, "OS_ID = 0x%.2x\n", tdata->header.os_id);
if (tdata->header.partition_name)
- fprintf (f, "Partition name = \"%s\"\n", tdata->header.partition_name);
+ fprintf (f, _("Partition name = \"%s\"\n"), tdata->header.partition_name);
for (i = 0; i < 4; i++)
{
- long sector_begin = bfd_getl_signed_32 ((PTR) &tdata->header.partition[i].sector_begin);
- long sector_length = bfd_getl_signed_32 ((PTR) &tdata->header.partition[i].sector_length);
+ long sector_begin = bfd_getl_signed_32 ((PTR) tdata->header.partition[i].sector_begin);
+ long sector_length = bfd_getl_signed_32 ((PTR) tdata->header.partition[i].sector_length);
/* Skip all 0 entries */
if (!tdata->header.partition[i].partition_begin.ind
@@ -446,20 +449,20 @@ ppcboot_bfd_print_private_bfd_data (abfd, farg)
&& !sector_begin && !sector_length)
continue;
- fprintf (f, "\nPartition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n", i,
+ fprintf (f, _("\nPartition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"), i,
tdata->header.partition[i].partition_begin.ind,
tdata->header.partition[i].partition_begin.head,
tdata->header.partition[i].partition_begin.sector,
tdata->header.partition[i].partition_begin.cylinder);
- fprintf (f, "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n", i,
+ fprintf (f, _("Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"), i,
tdata->header.partition[i].partition_end.ind,
tdata->header.partition[i].partition_end.head,
tdata->header.partition[i].partition_end.sector,
tdata->header.partition[i].partition_end.cylinder);
- fprintf (f, "Partition[%d] sector = 0x%.8lx (%ld)\n", i, sector_begin, sector_begin);
- fprintf (f, "Partition[%d] length = 0x%.8lx (%ld)\n", i, sector_length, sector_length);
+ fprintf (f, _("Partition[%d] sector = 0x%.8lx (%ld)\n"), i, sector_begin, sector_begin);
+ fprintf (f, _("Partition[%d] length = 0x%.8lx (%ld)\n"), i, sector_length, sector_length);
}
fprintf (f, "\n");
@@ -470,6 +473,7 @@ ppcboot_bfd_print_private_bfd_data (abfd, farg)
#define ppcboot_bfd_get_relocated_section_contents \
bfd_generic_get_relocated_section_contents
#define ppcboot_bfd_relax_section bfd_generic_relax_section
+#define ppcboot_bfd_gc_sections bfd_generic_gc_sections
#define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols
#define ppcboot_bfd_final_link _bfd_generic_final_link
@@ -499,9 +503,9 @@ const bfd_target ppcboot_vec =
bfd_getb64, bfd_getb_signed_64, bfd_putb64,
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */
- bfd_getb64, bfd_getb_signed_64, bfd_putb64,
- bfd_getb32, bfd_getb_signed_32, bfd_putb32,
- bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
+ bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+ bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+ bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
{ /* bfd_check_format */
_bfd_dummy_target,
ppcboot_object_p, /* bfd_check_format */
@@ -531,5 +535,7 @@ const bfd_target ppcboot_vec =
BFD_JUMP_TABLE_LINK (ppcboot),
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+ NULL,
+
NULL
};