You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#include "alloca-conf.h"
#include "bfd.h"
static unsigned char *
try_prev_fixup (bfd *abfd ATTRIBUTE_UNUSED,
- int *subspace_reloc_sizep,
+ unsigned int *subspace_reloc_sizep,
unsigned char *p,
unsigned int size,
struct reloc_queue *queue)
/* Chunk of memory that we can use as buffer space, then throw
away. */
size_t tmp_space_size = SOM_TMP_BUFSIZE;
- unsigned char *tmp_space = alloca (tmp_space_size);
- unsigned char *p = tmp_space;
+ char *tmp_space = alloca (tmp_space_size);
+ char *p = tmp_space;
unsigned int strings_size = 0;
asection *section;
bfd_size_type amt;
/* Chunk of memory that we can use as buffer space, then throw
away. */
size_t tmp_space_size = SOM_TMP_BUFSIZE;
- unsigned char *tmp_space = alloca (tmp_space_size);
- unsigned char *p = tmp_space;
+ char *tmp_space = alloca (tmp_space_size);
+ char *p = tmp_space;
unsigned int strings_size = 0;
- unsigned char *comp[4];
+ char *comp[4];
bfd_size_type amt;
/* This gets a bit gruesome because of the compilation unit. The
som_begin_writing (bfd *abfd)
{
unsigned long current_offset = 0;
- int strings_size = 0;
+ unsigned int strings_size = 0;
unsigned long num_spaces, num_subspaces, i;
asection *section;
unsigned int total_subspaces = 0;
{
int num_spaces = som_count_spaces (abfd);
asymbol **syms = bfd_get_outsymbols (abfd);
- int i, num_syms, strings_size;
+ int i, num_syms;
int subspace_index = 0;
file_ptr location;
asection *section;
unsigned long current_offset;
- unsigned int total_reloc_size;
+ unsigned int strings_size, total_reloc_size;
bfd_size_type amt;
/* We must set up the version identifier here as objcopy/strip copy
asymbol **symbols,
bfd_boolean just_count)
{
- char *external_relocs;
+ unsigned char *external_relocs;
unsigned int fixup_stream_size;
arelent *internal_relocs;
unsigned int num_relocs;
if (bfd_is_com_section (symbol->section))
return 'C';
if (bfd_is_und_section (symbol->section))
- return 'U';
+ {
+ if (symbol->flags & BSF_WEAK)
+ {
+ /* If weak, determine if it's specifically an object
+ or non-object weak. */
+ if (symbol->flags & BSF_OBJECT)
+ return 'v';
+ else
+ return 'w';
+ }
+ else
+ return 'U';
+ }
if (bfd_is_ind_section (symbol->section))
return 'I';
if (symbol->flags & BSF_WEAK)
- return 'W';
+ {
+ /* If weak, determine if it's specifically an object
+ or non-object weak. */
+ if (symbol->flags & BSF_OBJECT)
+ return 'V';
+ else
+ return 'W';
+ }
if (!(symbol->flags & (BSF_GLOBAL | BSF_LOCAL)))
return '?';
#define som_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data
#define som_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data
#define som_bfd_set_private_flags _bfd_generic_bfd_set_private_flags
+#define som_find_inliner_info _bfd_nosymbols_find_inliner_info
const bfd_target som_vec =
{