* config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
	canonical information, try to determine CODE and DEBUG section flags
	from the mach-o section data.
This commit is contained in:
Iain Sandoe
2012-02-20 19:44:40 +00:00
parent 3a9b40b6dd
commit a5759139f8
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2012-02-20 Iain Sandoe <idsandoe@googlemail.com>
* config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
canonical information, try to determine CODE and DEBUG section flags
from the mach-o section data.
2012-02-20 Nick Clifton <nickc@redhat.com> 2012-02-20 Nick Clifton <nickc@redhat.com>
* cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on

View File

@ -240,6 +240,18 @@ obj_mach_o_make_or_get_sect (char * segname, char * sectname,
if (oldflags == SEC_NO_FLAGS) if (oldflags == SEC_NO_FLAGS)
{ {
/* In the absence of canonical information, try to determine CODE and
DEBUG section flags from the mach-o section data. */
if (flags == SEC_NO_FLAGS
&& (specified_mask & SECT_ATTR_SPECIFIED)
&& (secattr & BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS))
flags |= SEC_CODE;
if (flags == SEC_NO_FLAGS
&& (specified_mask & SECT_ATTR_SPECIFIED)
&& (secattr & BFD_MACH_O_S_ATTR_DEBUG))
flags |= SEC_DEBUGGING;
/* New, so just use the defaults or what's specified. */ /* New, so just use the defaults or what's specified. */
if (! bfd_set_section_flags (stdoutput, sec, flags)) if (! bfd_set_section_flags (stdoutput, sec, flags))
as_warn (_("failed to set flags for \"%s\": %s"), as_warn (_("failed to set flags for \"%s\": %s"),