This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Catherine Moore<clm@codesourcery.com> writes:
Does this look okay to install?
I didn't look at the patch, but I think the documentation needs to use some real section flags, and ideally the set of valid flags should be defined somewhere. It's not obvious what the valid values are.
I'm also not sure about the way it appears in a linker script. You have SECTION_FLAGS, which describes a constraint on the input sections attached to an output section, next to things like AT, ALIGN, and SUBALIGN, which describe characteristics of the output section. That is OK, but I think that somebody looking at a linker script is likely to think that SECTION_FLAGS is setting flags for the output section, much as ALIGN sets the alignment of the output section. But that's not what happens at all. So perhaps the name should be something like INPUT_SECTION_FLAGS or perhaps the constraint should be expressed somehow inside the output section definition, in the list of input sections, rather than outside.
Thanks, Catherine
bfd/ 2011-05-24 Catherine Moore <clm@codesourcery.com>
* bfd-in2.h: Regenerated. * bfd.c (bfd_lookup_section_flags): New definition. * binary.c (binary_bfd_lookup_section_flags): New definition. * coff-rs6000.c (rs6000coff_vec): Include bfd_generic_lookup_section_flags. (pmac_xcoff_vec): Likewise. * coffcode.h (coff_bfd_lookup_section_flags): New definition. * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare. (bfd_elf_lookup_section_flags): Declare. * elflink.c (bfd_elf_lookup_section_flags): New function. * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define. (elf_backend_lookup_section_flags_hook): Define. (elf_backend_data): Add elf_backend_lookup_section_flags_hook. * ieee.c (ieee_bfd_lookup_section_flags): New define. * ihex.c (ihex_bfd_lookup_section_flags): New define. * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare. (bfd_generic_lookup_section_flags): Declare. * libbfd.h: Regenerated. * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New. * mmo.c (mmo_bfd_lookup_section_flags): New definition. * oasys.c (oasys_bfd_lookup_section_flags): New definition. * pef.c (bfd_pef_bfd_lookup_section_flags): New definition. * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition. * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition. * reloc.c (bfd_generic_lookup_section_flags): New function. * som.c (som_bfd_lookup_section_flags): New definition. * srec.c (srec_bfd_lookup_section_flags): New definition. * targets.c (flag_info): Declare. (NAME##_bfd_lookup_section_flags): Add to LINK jump table. (_bfd_lookup_section_flags): New. * tekhex.c (tekhex_bfd_lookup_section_flags): New definition. * versados.c (versados_bfd_lookup_section_flags): New definition. * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition. * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
include/ 2011-05-24 Catherine Moore <clm@codesourcery.com>
* bfdlink.h (flag_type): New enumeration. (flag_info_list): New structure. (flag_info): New structure.
ld/testsuite/ 2011-05-24 Catherine Moore <clm@codesourcery.com>
* ld-scripts/section-flags-1.exp: New. * ld-scripts/section-flags-1.s: New. * ld-scripts/section-flags-1.t: New.
* ld.texinfo: Document usage of INPUT_SECTION_FLAGS. * ldgram.y (section): Recognize sect_flags. (sect_flags): New rule. (sect_flag_list): New rule. * ldlang.c (lang_add_section): Check section flags. (lang_enter_output_section_statement): Add argument sflags. Initialize sflags field in output statement. * ldlang.h (lang_output_section_statement_type): Add flag_info field. (lang_enter_output_section_statement): New argument sflags. Update all callers. * ldlex.l (INPUT_SECTION_FLAGS): New token. * mri.c (mri_draw_tree): Update argument list for land_enter_output_section_statement.
Attachment:
sf.patch2
Description: Text document
Index: elf32-ppc.c =================================================================== --- elf32-ppc.c (revision 326234) +++ elf32-ppc.c (working copy) @@ -2320,6 +2320,50 @@ ppc_elf_write_core_note (bfd *abfd, char } } +static void +ppc_elf_lookup_section_flags (struct flag_info *finfo) +{ + struct flag_info_list *tf = finfo->flag_list; + int with_hex = 0; + int without_hex = 0; + bfd_boolean valid_flag_found = FALSE; + + while (tf) + { + if (!strcmp (tf->name, "SHF_PPC_VLE")) + { + if (tf->with == with_flags) + with_hex |= SHF_PPC_VLE; + else if (tf->with == without_flags) + without_hex |= SHF_PPC_VLE; + valid_flag_found = TRUE; + } + tf = tf->next; + } + finfo->done = TRUE; + finfo->only_with_flags = with_hex; + finfo->not_with_flags = without_hex; +} +
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |