Correct logic for "defined by object"
H.J. Lu
hjl.tools@gmail.com
Tue Dec 23 13:55:00 GMT 2014
More information about the Binutils mailing list
Tue Dec 23 13:55:00 GMT 2014
- Previous message (by thread): Correct logic for "defined by object"
- Next message (by thread): Correct logic for "defined by object"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Dec 23, 2014 at 5:44 AM, Alan Modra <amodra@gmail.com> wrote: > On Tue, Dec 23, 2014 at 05:25:03AM -0800, H.J. Lu wrote: >> On Tue, Dec 23, 2014 at 5:10 AM, H.J. Lu <hjl.tools@gmail.com> wrote: >> > On Tue, Dec 23, 2014 at 5:06 AM, Alan Modra <amodra@gmail.com> wrote: >> >> On Tue, Dec 23, 2014 at 04:46:29AM -0800, H.J. Lu wrote: >> >>> No testcase? >> >> >> >> No. This patch wasn't in response to a bug report or from observing >> >> wrong linker behaviour myself. In fact, I don't think you can write a >> >> testcase that fails with the old code and passes with the new, due to >> >> the way def->by_object is used. The patch was really just a tidy. >> >> >> > >> > So this patch won't change linker behavior in any way whatsoever. >> > Basically the setting of def->by_object is unused. >> > >> > -- >> > H.J. >> >> There are >> >> new_number (h != NULL >> && (h->type == bfd_link_hash_defined >> || h->type == bfd_link_hash_defweak >> || h->type == bfd_link_hash_common) >> && ((def = symbol_defined (tree->name.name)) == NULL >> || def->by_object >> || def->iteration == (lang_statement_iteration & 1))); >> >> and >> >> if (!(h != NULL >> && (h->type == bfd_link_hash_defined >> || h->type == bfd_link_hash_defweak) >> && h->u.def.section == bfd_abs_section_ptr >> && (def = symbol_defined (tree->name.name)) != NULL >> && def->iteration == (lang_statement_iteration & 1))) >> >> One checks by_object and the other doesn't. Should they be >> consistent? Can we find some real usage for by_object? If not, >> why don't we remove it? > > This is a real use of by_object. The "new_number" expression is > saying the result of DEFINED is true iff the symbol is defined, > defweak or common, and there are no script assignments to the symbol, > or the symbol was actually defined in an object file, or the script > assignment occurred before the DEFINED keyword. > Can't we find a testcase to show how it is used? -- H.J.
- Previous message (by thread): Correct logic for "defined by object"
- Next message (by thread): Correct logic for "defined by object"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list