On Thu, 2005-02-17 at 16:18 +0000, Nick Clifton wrote: > Hi Rob, > > > So ... how do I push this upstream? > > Well we would love to have them. > > But first things first - can we accept them ? In order for us to accept > them the FSF needs a copyright assignment on file from whomever holds > the copyright on the patches you are contributing. (Presumably either > yourself or the Mozilla Foundation ?) I had a look but could not see > such an assignment in my records, so I guess that obtaining one is the > first step. (If you do have such an assignment, please could you > forward a copy of the confirmation email from the FSF to me ?) I am > attaching a form to fill out and send off to the FSF to get this process > started. I work for Novell so Novell owns the copyright. I'll work on getting a copyright assignment and get back to you. > > Should I submit the patch as an > > attachment? It's 69 lines deleted, 458 lines added in ld.h, ldlang.c, > > ldlang.h. > > Attachments are fine. Context diffs are great. A ChangeLog entry to > accompany the patch and explain what it does is wonderful. I'm attaching the patch so people can see it/test it/comment on it, keeping in mind this is copyright Novell for now. Here's a ChangeLog entry: 2005-2-17 Robert O'Callahan * ld.h: lean_user_section_struct, and the lean part of the fat struct, are unused. Remove them. * ldlang.h: Add optimized walk_wild_section code pointer and its parameters to lang_wild_statement_struct. * ldlang.c: (init_os) Eliminate initialization of unused lean_user_section_structs. (lang_add_wild, analyze_walk_wild_section_handler, wild_spec_can_overlap, is_simple_wild) Analyze the parsed wildcard_list to determine if it fits any of the patterns we have specialized code for. (walk_wild_consider_section, walk_wild_section_general, walk_wild_section) Break up walk_wild_section into parts that can be specialized and parts that are the same across specializations. (section_iterator_callback, find_section, match_simple_wild) New support routines for the specialized code paths. (walk_wild_section_specs_wild) Add specialized code for a wildcard_list with N non-overlapping specs of which N-M are simple strings and M are simple wildcards (simple strings followed by a single '*'). Rob