From: Sonal Santan <sonal.santan@xilinx.com>
To: "H. J. Lu" <hjl@lucon.org>
Cc: binutils@sources.redhat.com
Subject: Re: Linker --sort-section name is broken
Date: Mon, 07 Aug 2006 21:44:00 -0000 [thread overview]
Message-ID: <44D7B4A3.2030805@xilinx.com> (raw)
In-Reply-To: <20060807181041.GA18835@lucon.org>
Hello H.J.
Looks like ld lacks the kind of examples you tried in its testsuite. I
can think of the following two ways to fix this:
[1] A quick fix would be to change the logic which triggers BST sorting
in wild() to the following--
if (s->handler_data[0]
&& s->handler_data[0]->spec.sorted == by_name
&& !s->filenames_sorted
&& !handler_data[1])
{...
[2] A better fix would be grow the handler_data[] array in struct
lang_wild_statement_struct to size 5. Make the BST logic exclusively use
handler_data[4] for all its needs.
What do you think?
Sonal
H. J. Lu wrote:
> 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.
>
>
next prev parent reply other threads:[~2006-08-07 21:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-07 18:10 H. J. Lu
2006-08-07 21:44 ` Sonal Santan [this message]
2006-08-07 21:56 ` PATCH ld/3006: " H. J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44D7B4A3.2030805@xilinx.com \
--to=sonal.santan@xilinx.com \
--cc=binutils@sources.redhat.com \
--cc=hjl@lucon.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).