/* windres.c -- a program to manipulate Windows resources
- Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
- Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
+ 2009 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
Rewritten by Kai Tietz, Onevision.
#include "obstack.h"
#include "windres.h"
-/* Defined in bfd/binary.c. Used to set architecture and machine of input
- binary files. */
-extern enum bfd_architecture bfd_external_binary_architecture;
-extern unsigned long bfd_external_machine;
-
/* Used by resrc.c at least. */
int verbose = 0;
void *
res_alloc (rc_uint_type bytes)
{
- return (void *) obstack_alloc (&res_obstack, (size_t) bytes);
+ return obstack_alloc (&res_obstack, (size_t) bytes);
}
/* We also use an obstack to save memory used while writing out a set
void *
reswr_alloc (rc_uint_type bytes)
{
- return (void *) obstack_alloc (&reswr_obstack, (size_t) bytes);
+ return obstack_alloc (&reswr_obstack, (size_t) bytes);
}
\f
/* Open a file using the include directory search list. */
return 0;
}
-static void set_endianess (bfd *abfd, const char *target)
+static void
+set_endianess (bfd *abfd, const char *target)
{
const bfd_target *target_vec;
def_target_arch = NULL;
- target_vec = bfd_find_target (target, abfd);
+ target_vec = bfd_get_target_info (target, abfd, &target_is_bigendian, NULL,
+ &def_target_arch);
if (! target_vec)
fatal ("Can't detect target endianess and architecture.");
- target_is_bigendian = ((target_vec->byteorder == BFD_ENDIAN_BIG) ? 1 : 0);
- {
- const char *tname = target_vec->name;
- const char **arch = bfd_arch_list();
- if (arch && tname)
- {
- if (strchr (tname, '-') != NULL)
- tname = strchr (tname, '-') + 1;
- while (*arch != NULL)
- {
- const char *in_a = strstr (*arch, tname);
- char end_ch = (in_a ? in_a[strlen(tname)] : 0);
- if (in_a && (in_a == *arch || in_a[-1] == ':')
- && end_ch == 0)
- {
- def_target_arch = *arch;
- break;
- }
- arch++;
- }
- }
- if (! def_target_arch)
- fatal ("Can't detect architecture.");
- }
+ if (! def_target_arch)
+ fatal ("Can't detect architecture.");
}
bfd *
}
void
-set_windres_bfd_content(windres_bfd *wrbfd, const void *data, rc_uint_type off,
- rc_uint_type length)
+set_windres_bfd_content (windres_bfd *wrbfd, const void *data, rc_uint_type off,
+ rc_uint_type length)
{
if (WR_KIND(wrbfd) != WR_KIND_TARGET)
{
}
void
-get_windres_bfd_content(windres_bfd *wrbfd, void *data, rc_uint_type off,
- rc_uint_type length)
+get_windres_bfd_content (windres_bfd *wrbfd, void *data, rc_uint_type off,
+ rc_uint_type length)
{
if (WR_KIND(wrbfd) != WR_KIND_TARGET)
{