projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bfd: support section groups with preceding SHF_GROUP sections
[deliverable/binutils-gdb.git]
/
bfd
/
aout-adobe.c
diff --git
a/bfd/aout-adobe.c
b/bfd/aout-adobe.c
index 93182f7ad8589388dce9888d3beda534b3272aba..a2c927da23a66253dd1e2572c6a905c9b2798a0d 100644
(file)
--- a/
bfd/aout-adobe.c
+++ b/
bfd/aout-adobe.c
@@
-1,14
+1,12
@@
/* BFD back-end for a.out.adobe binaries.
/* BFD back-end for a.out.adobe binaries.
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005
- Free Software Foundation, Inc.
+ Copyright (C) 1990-2017 Free Software Foundation, Inc.
Written by Cygnus Support. Based on bout.c.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Written by Cygnus Support. Based on bout.c.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version
2
of the License, or
+ the Free Software Foundation; either version
3
of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@
-20,15
+18,15
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-#include "bfd.h"
#include "sysdep.h"
#include "sysdep.h"
+#include "bfd.h"
#include "libbfd.h"
#include "aout/adobe.h"
#include "aout/stab_gnu.h"
#include "libaout.h" /* BFD a.out internal data structures. */
/* Forward decl. */
#include "libbfd.h"
#include "aout/adobe.h"
#include "aout/stab_gnu.h"
#include "libaout.h" /* BFD a.out internal data structures. */
/* Forward decl. */
-extern const bfd_target a
_
out_adobe_vec;
+extern const bfd_target aout_adobe_vec;
/* Swaps the information in an executable header taken from a raw byte
stream memory image, into the internal exec_header structure. */
/* Swaps the information in an executable header taken from a raw byte
stream memory image, into the internal exec_header structure. */
@@
-88,8
+86,8
@@
aout_adobe_callback (bfd *abfd)
bfd_set_arch_mach (abfd, bfd_arch_unknown, 0L);
/* The positions of the string table and symbol table. */
bfd_set_arch_mach (abfd, bfd_arch_unknown, 0L);
/* The positions of the string table and symbol table. */
- obj_str_filepos (abfd) = N_STROFF (
*
execp);
- obj_sym_filepos (abfd) = N_SYMOFF (
*
execp);
+ obj_str_filepos (abfd) = N_STROFF (execp);
+ obj_sym_filepos (abfd) = N_SYMOFF (execp);
/* Suck up the section information from the file, one section at a time. */
for (;;)
/* Suck up the section information from the file, one section at a time. */
for (;;)
@@
-123,7
+121,8
@@
aout_adobe_callback (bfd *abfd)
goto no_more_sections;
default:
goto no_more_sections;
default:
- (*_bfd_error_handler)
+ _bfd_error_handler
+ /* xgettext:c-format */
(_("%B: Unknown section type in a.out.adobe file: %x\n"),
abfd, ext->e_type[0]);
goto no_more_sections;
(_("%B: Unknown section type in a.out.adobe file: %x\n"),
abfd, ext->e_type[0]);
goto no_more_sections;
@@
-132,7
+131,7
@@
aout_adobe_callback (bfd *abfd)
/* First one is called ".text" or whatever; subsequent ones are
".text1", ".text2", ... */
bfd_set_error (bfd_error_no_error);
/* First one is called ".text" or whatever; subsequent ones are
".text1", ".text2", ... */
bfd_set_error (bfd_error_no_error);
- sect = bfd_make_section
(abfd, section_name
);
+ sect = bfd_make_section
_with_flags (abfd, section_name, flags
);
trynum = 0;
while (!sect)
trynum = 0;
while (!sect)
@@
-141,7
+140,7
@@
aout_adobe_callback (bfd *abfd)
/* Some other error -- slide into the sunset. */
return NULL;
sprintf (try_again, "%s%d", section_name, ++trynum);
/* Some other error -- slide into the sunset. */
return NULL;
sprintf (try_again, "%s%d", section_name, ++trynum);
- sect = bfd_make_section
(abfd, try_again
);
+ sect = bfd_make_section
_with_flags (abfd, try_again, flags
);
}
/* Fix the name, if it is a sprintf'd name. */
}
/* Fix the name, if it is a sprintf'd name. */
@@
-155,8
+154,6
@@
aout_adobe_callback (bfd *abfd)
sect->name = newname;
}
sect->name = newname;
}
- /* Now set the section's attributes. */
- bfd_set_section_flags (abfd, sect, flags);
/* Assumed big-endian. */
sect->size = ((ext->e_size[0] << 8)
| ext->e_size[1] << 8
/* Assumed big-endian. */
sect->size = ((ext->e_size[0] << 8)
| ext->e_size[1] << 8
@@
-170,12
+167,12
@@
aout_adobe_callback (bfd *abfd)
switch (ext->e_type[0])
{
case N_TEXT:
switch (ext->e_type[0])
{
case N_TEXT:
- sect->rel_filepos = N_TRELOFF (
*
execp);
+ sect->rel_filepos = N_TRELOFF (execp);
sect->reloc_count = execp->a_trsize;
break;
case N_DATA:
sect->reloc_count = execp->a_trsize;
break;
case N_DATA:
- sect->rel_filepos = N_DRELOFF (
*
execp);
+ sect->rel_filepos = N_DRELOFF (execp);
sect->reloc_count = execp->a_drsize;
break;
sect->reloc_count = execp->a_drsize;
break;
@@
-217,10
+214,10
@@
aout_adobe_object_p (bfd *abfd)
If the environment variable GNUTARGET is set to "a.out.adobe", we will
take just about any a.out file as an Adobe a.out file. FIXME! */
If the environment variable GNUTARGET is set to "a.out.adobe", we will
take just about any a.out file as an Adobe a.out file. FIXME! */
- if (N_BADMAG (anexec))
+ if (N_BADMAG (
&
anexec))
{
targ = getenv ("GNUTARGET");
{
targ = getenv ("GNUTARGET");
- if (targ && !strcmp (targ, a
_
out_adobe_vec.name))
+ if (targ && !strcmp (targ, aout_adobe_vec.name))
/* Just continue anyway, if specifically set to this format. */
;
else
/* Just continue anyway, if specifically set to this format. */
;
else
@@
-337,14
+334,14
@@
aout_adobe_write_object_contents (bfd *abfd)
/* Now write out reloc info, followed by syms and strings. */
if (bfd_get_symcount (abfd) != 0)
{
/* Now write out reloc info, followed by syms and strings. */
if (bfd_get_symcount (abfd) != 0)
{
- if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (
*
exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
if (! aout_32_write_syms (abfd))
return FALSE;
!= 0)
return FALSE;
if (! aout_32_write_syms (abfd))
return FALSE;
- if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (
*
exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
!= 0)
return FALSE;
@@
-353,7
+350,7
@@
aout_adobe_write_object_contents (bfd *abfd)
if (!aout_32_squirt_out_relocs (abfd, sect))
return FALSE;
if (!aout_32_squirt_out_relocs (abfd, sect))
return FALSE;
- if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (
*
exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
!= 0)
return FALSE;
@@
-381,7
+378,7
@@
aout_adobe_set_section_contents (bfd *abfd,
{
/* Assign file offsets to sections. Text sections are first, and
are contiguous. Then data sections. Everything else at the end. */
{
/* Assign file offsets to sections. Text sections are first, and
are contiguous. Then data sections. Everything else at the end. */
- section_start = N_TXTOFF (
ignore<-->me
);
+ section_start = N_TXTOFF (
0
);
for (sect = abfd->sections; sect; sect = sect->next)
{
for (sect = abfd->sections; sect; sect = sect->next)
{
@@
-443,15
+440,18
@@
aout_adobe_set_arch_mach (bfd *abfd,
static int
aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
static int
aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-
bfd_boolean ignore
ATTRIBUTE_UNUSED)
+
struct bfd_link_info *info
ATTRIBUTE_UNUSED)
{
return sizeof (struct internal_exec);
}
/* Build the transfer vector for Adobe A.Out files. */
{
return sizeof (struct internal_exec);
}
/* Build the transfer vector for Adobe A.Out files. */
-#define aout_32_bfd_make_debug_symbol ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
-#define aout_32_bfd_reloc_type_lookup ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
+#define aout_32_find_line _bfd_nosymbols_find_line
+#define aout_32_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string
+#define aout_32_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
+#define aout_32_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
+#define aout_32_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
#define aout_32_set_arch_mach aout_adobe_set_arch_mach
#define aout_32_set_section_contents aout_adobe_set_section_contents
#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
#define aout_32_set_arch_mach aout_adobe_set_arch_mach
#define aout_32_set_section_contents aout_adobe_set_section_contents
@@
-460,18
+460,23
@@
aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
#define aout_32_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
#define aout_32_bfd_relax_section bfd_generic_relax_section
#define aout_32_bfd_gc_sections bfd_generic_gc_sections
#define aout_32_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
#define aout_32_bfd_relax_section bfd_generic_relax_section
#define aout_32_bfd_gc_sections bfd_generic_gc_sections
+#define aout_32_bfd_lookup_section_flags bfd_generic_lookup_section_flags
#define aout_32_bfd_merge_sections bfd_generic_merge_sections
#define aout_32_bfd_is_group_section bfd_generic_is_group_section
#define aout_32_bfd_discard_group bfd_generic_discard_group
#define aout_32_section_already_linked _bfd_generic_section_already_linked
#define aout_32_bfd_merge_sections bfd_generic_merge_sections
#define aout_32_bfd_is_group_section bfd_generic_is_group_section
#define aout_32_bfd_discard_group bfd_generic_discard_group
#define aout_32_section_already_linked _bfd_generic_section_already_linked
+#define aout_32_bfd_define_common_symbol bfd_generic_define_common_symbol
#define aout_32_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define aout_32_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define aout_32_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define aout_32_bfd_link_add_symbols _bfd_generic_link_add_symbols
#define aout_32_bfd_link_just_syms _bfd_generic_link_just_syms
#define aout_32_bfd_link_add_symbols _bfd_generic_link_add_symbols
#define aout_32_bfd_link_just_syms _bfd_generic_link_just_syms
+#define aout_32_bfd_copy_link_hash_symbol_type \
+ _bfd_generic_copy_link_hash_symbol_type
#define aout_32_bfd_final_link _bfd_generic_final_link
#define aout_32_bfd_link_split_section _bfd_generic_link_split_section
#define aout_32_bfd_final_link _bfd_generic_final_link
#define aout_32_bfd_link_split_section _bfd_generic_link_split_section
+#define aout_32_bfd_link_check_relocs _bfd_generic_link_check_relocs
+#define aout_32_set_reloc _bfd_generic_set_reloc
-const bfd_target a
_
out_adobe_vec =
+const bfd_target aout_adobe_vec =
{
"a.out.adobe", /* Name. */
bfd_target_aout_flavour,
{
"a.out.adobe", /* Name. */
bfd_target_aout_flavour,
@@
-485,6
+490,7
@@
const bfd_target a_out_adobe_vec =
'_', /* Symbol leading char. */
' ', /* AR_pad_char. */
16, /* AR_max_namelen. */
'_', /* Symbol leading char. */
' ', /* AR_pad_char. */
16, /* AR_max_namelen. */
+ 0, /* match priority. */
bfd_getb64, bfd_getb_signed_64, bfd_putb64,
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
bfd_getb64, bfd_getb_signed_64, bfd_putb64,
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
This page took
0.028078 seconds
and
4
git commands to generate.