This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: ld/2338: objdump -d -l doesn't work correctly
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, binutils at sourceware dot org
- Date: Fri, 3 Mar 2006 13:12:09 +1030
- Subject: Re: PATCH: ld/2338: objdump -d -l doesn't work correctly
- References: <20060222015442.GA8677@lucon.org> <20060227233753.GI7365@bubble.grove.modra.org> <20060228040622.GA3771@lucon.org> <20060228044341.GM7365@bubble.grove.modra.org> <20060228052156.GA4218@lucon.org> <20060228072903.GN7365@bubble.grove.modra.org> <20060228171441.GA9154@lucon.org> <20060228182352.GA9662@lucon.org> <20060228185053.GA1056@nevyn.them.org> <20060228194138.GA10210@lucon.org>
On Tue, Feb 28, 2006 at 11:41:38AM -0800, H. J. Lu wrote:
> @@ -803,6 +815,15 @@ add_line_info (struct line_info_table *t
> {
> /* Abnormal but easy: lcl_head is 1) in the *middle* of the line
> list and 2) the head of 'info'. */
> + if (address == table->lcl_head->prev_line->address
> + && end_sequence != 0
> + && table->lcl_head->end_sequence != 0
> + && table->lcl_head->prev_line->end_sequence == 0)
> + {
> + /* If the new adress is the same, we need to make sure that
> + the order of end_sequence is correct. */
> + table->lcl_head = table->lcl_head->prev_line;
> + }
> info->prev_line = table->lcl_head->prev_line;
> table->lcl_head->prev_line = info;
> break;
Convince me that this is correct. ie. that you have actually done some
analysis and that this is the only place in add_line_info that needs to
do something special with end_sequence.
--
Alan Modra
IBM OzLabs - Linux Technology Centre