Linker --sort-section name is broken

H. J. Lu hjl@lucon.org
Mon Aug 7 18:10:00 GMT 2006


Hi Sonal,

Your linker patch breaks --sort-section name. In wild (), you hae

  if (s->handler_data[0]
      && s->handler_data[0]->spec.sorted == by_name
      && !s->filenames_sorted)
    {
      lang_section_bst_type *tree;

      walk_wild (s, output_section_callback_fast, output);

      tree = (lang_section_bst_type *) s->handler_data[1];
      if (tree)
        output_section_callback_tree_to_list (s, tree, output);
      s->handler_data[1] = NULL;
    }

With "--sort-section name" on

*(.text .text.*)

handler_data[1] is a wildcard spec. But you use it for BST in
wild_sort_fast. I don't see how it can work. I really don't like

tree = (lang_section_bst_type **) &wild->handler_data[1];

It is hard to check if it is really valid.


H.J.



More information about the Binutils mailing list