2011-09-21 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment. Deals with size limited strings. (bfd_mach_o_build_commands): Initialize more fields.
This commit is contained in:
parent
fc436fd907
commit
7ba695a99c
|
@ -1,3 +1,9 @@
|
||||||
|
2011-09-21 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
|
* mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment.
|
||||||
|
Deals with size limited strings.
|
||||||
|
(bfd_mach_o_build_commands): Initialize more fields.
|
||||||
|
|
||||||
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
|
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR ld/13177
|
PR ld/13177
|
||||||
|
|
|
@ -183,6 +183,9 @@ bfd_mach_o_normalize_section_name (const char *segname, const char *sectname,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Convert Mach-O section name to BFD. Try to use standard names, otherwise
|
||||||
|
forge a new name. SEGNAME and SECTNAME are 16 bytes strings. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
bfd_mach_o_convert_section_name_to_bfd
|
bfd_mach_o_convert_section_name_to_bfd
|
||||||
(bfd *abfd, const char *segname, const char *sectname,
|
(bfd *abfd, const char *segname, const char *sectname,
|
||||||
|
@ -199,7 +202,7 @@ bfd_mach_o_convert_section_name_to_bfd
|
||||||
if (*name)
|
if (*name)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
len = strlen (segname) + 1 + strlen (sectname) + 1;
|
len = 16 + 1 + 16 + 1;
|
||||||
|
|
||||||
/* Put "LC_SEGMENT." prefix if the segment name is weird (ie doesn't start
|
/* Put "LC_SEGMENT." prefix if the segment name is weird (ie doesn't start
|
||||||
with an underscore. */
|
with an underscore. */
|
||||||
|
@ -214,7 +217,7 @@ bfd_mach_o_convert_section_name_to_bfd
|
||||||
res = bfd_alloc (abfd, len);
|
res = bfd_alloc (abfd, len);
|
||||||
if (res == NULL)
|
if (res == NULL)
|
||||||
return;
|
return;
|
||||||
snprintf (res, len, "%s%s.%s", pfx, segname, sectname);
|
snprintf (res, len, "%s%.16s.%.16s", pfx, segname, sectname);
|
||||||
*name = res;
|
*name = res;
|
||||||
*flags = SEC_NO_FLAGS;
|
*flags = SEC_NO_FLAGS;
|
||||||
}
|
}
|
||||||
|
@ -1406,6 +1409,8 @@ bfd_mach_o_build_commands (bfd *abfd)
|
||||||
| BFD_MACH_O_PROT_EXECUTE;
|
| BFD_MACH_O_PROT_EXECUTE;
|
||||||
seg->initprot = seg->maxprot;
|
seg->initprot = seg->maxprot;
|
||||||
seg->flags = 0;
|
seg->flags = 0;
|
||||||
|
seg->sect_head = NULL;
|
||||||
|
seg->sect_tail = NULL;
|
||||||
|
|
||||||
/* Create Mach-O sections. */
|
/* Create Mach-O sections. */
|
||||||
target_index = 0;
|
target_index = 0;
|
||||||
|
|
Loading…
Reference in New Issue