mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
* peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_DISCARDABLE
for .stab* sections. Replace strlen of constant strings with number.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
Wed Oct 15 13:45:10 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_DISCARDABLE
|
||||||
|
for .stab* sections. Replace strlen of constant strings with
|
||||||
|
number.
|
||||||
|
|
||||||
Tue Oct 14 15:42:45 1997 Richard Henderson <rth@cygnus.com>
|
Tue Oct 14 15:42:45 1997 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): New function to
|
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): New function to
|
||||||
|
@ -52,6 +52,7 @@ Most of this hacked by Steve Chamberlain,
|
|||||||
wasting too much time.
|
wasting too much time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#undef coff_bfd_print_private_bfd_data
|
||||||
#define coff_bfd_print_private_bfd_data pe_print_private_bfd_data
|
#define coff_bfd_print_private_bfd_data pe_print_private_bfd_data
|
||||||
#define coff_mkobject pe_mkobject
|
#define coff_mkobject pe_mkobject
|
||||||
#define coff_mkobject_hook pe_mkobject_hook
|
#define coff_mkobject_hook pe_mkobject_hook
|
||||||
@ -1130,6 +1131,9 @@ coff_swap_scnhdr_out (abfd, in, out)
|
|||||||
/* FIXME: even worse, I don't see how to get the original alignment field*/
|
/* FIXME: even worse, I don't see how to get the original alignment field*/
|
||||||
/* back... */
|
/* back... */
|
||||||
|
|
||||||
|
/* FIXME: Basing this on section names is bogus. Also, this should
|
||||||
|
be in sec_to_styp_flags. */
|
||||||
|
|
||||||
{
|
{
|
||||||
int flags = scnhdr_int->s_flags;
|
int flags = scnhdr_int->s_flags;
|
||||||
if (strcmp (scnhdr_int->s_name, ".data") == 0 ||
|
if (strcmp (scnhdr_int->s_name, ".data") == 0 ||
|
||||||
@ -1151,16 +1155,16 @@ coff_swap_scnhdr_out (abfd, in, out)
|
|||||||
IMAGE_SCN_MEM_READ ;
|
IMAGE_SCN_MEM_READ ;
|
||||||
/* Remember this field is a max of 8 chars, so the null is _not_ there
|
/* Remember this field is a max of 8 chars, so the null is _not_ there
|
||||||
for an 8 character name like ".reldata". (yep. Stupid bug) */
|
for an 8 character name like ".reldata". (yep. Stupid bug) */
|
||||||
else if (strncmp (scnhdr_int->s_name, ".reldata", strlen(".reldata")) == 0)
|
else if (strncmp (scnhdr_int->s_name, ".reldata", 8) == 0)
|
||||||
flags = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_8BYTES |
|
flags = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_8BYTES |
|
||||||
IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE ;
|
IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE ;
|
||||||
else if (strcmp (scnhdr_int->s_name, ".ydata") == 0)
|
else if (strcmp (scnhdr_int->s_name, ".ydata") == 0)
|
||||||
flags = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_8BYTES |
|
flags = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_8BYTES |
|
||||||
IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE ;
|
IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE ;
|
||||||
else if (strncmp (scnhdr_int->s_name, ".drectve", strlen(".drectve")) == 0)
|
else if (strncmp (scnhdr_int->s_name, ".drectve", 8) == 0)
|
||||||
flags = IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE ;
|
flags = IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE ;
|
||||||
#ifdef POWERPC_LE_PE
|
#ifdef POWERPC_LE_PE
|
||||||
else if (strncmp (scnhdr_int->s_name, ".stabstr", strlen(".stabstr")) == 0)
|
else if (strncmp (scnhdr_int->s_name, ".stabstr", 8) == 0)
|
||||||
{
|
{
|
||||||
flags = IMAGE_SCN_LNK_INFO;
|
flags = IMAGE_SCN_LNK_INFO;
|
||||||
}
|
}
|
||||||
@ -1169,6 +1173,8 @@ coff_swap_scnhdr_out (abfd, in, out)
|
|||||||
flags = IMAGE_SCN_LNK_INFO;
|
flags = IMAGE_SCN_LNK_INFO;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
else
|
||||||
|
flags = IMAGE_SCN_MEM_READ;
|
||||||
|
|
||||||
bfd_h_put_32(abfd, flags, (bfd_byte *) scnhdr_ext->s_flags);
|
bfd_h_put_32(abfd, flags, (bfd_byte *) scnhdr_ext->s_flags);
|
||||||
}
|
}
|
||||||
@ -1231,6 +1237,8 @@ pe_print_idata(abfd, vfile)
|
|||||||
#ifdef POWERPC_LE_PE
|
#ifdef POWERPC_LE_PE
|
||||||
asection *rel_section = bfd_get_section_by_name (abfd, ".reldata");
|
asection *rel_section = bfd_get_section_by_name (abfd, ".reldata");
|
||||||
#endif
|
#endif
|
||||||
|
else if (strncmp (scnhdr_int->s_name, ".stab", 5) == 0)
|
||||||
|
flags |= IMAGE_SCN_LNK_INFO | IMAGE_SCN_MEM_DISCARDABLE;
|
||||||
|
|
||||||
bfd_size_type datasize = 0;
|
bfd_size_type datasize = 0;
|
||||||
bfd_size_type i;
|
bfd_size_type i;
|
||||||
@ -1940,6 +1948,7 @@ pe_mkobject_hook (abfd, filehdr, aouthdr)
|
|||||||
/* Copy any private info we understand from the input bfd
|
/* Copy any private info we understand from the input bfd
|
||||||
to the output bfd. */
|
to the output bfd. */
|
||||||
|
|
||||||
|
#undef coff_bfd_copy_private_bfd_data
|
||||||
#define coff_bfd_copy_private_bfd_data pe_bfd_copy_private_bfd_data
|
#define coff_bfd_copy_private_bfd_data pe_bfd_copy_private_bfd_data
|
||||||
|
|
||||||
static boolean
|
static boolean
|
||||||
|
Reference in New Issue
Block a user