[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/24730] INCLUDE and --default-script / --script have different wh
From: |
nickc at redhat dot com |
Subject: |
[Bug ld/24730] INCLUDE and --default-script / --script have different whitespace behavior when using REGION_ALIAS |
Date: |
Fri, 28 Jun 2019 16:17:56 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=24730
Nick Clifton <nickc at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-06-28
CC| |nickc at redhat dot com
Ever confirmed|0 |1
--- Comment #2 from Nick Clifton <nickc at redhat dot com> ---
Hi Pekka,
> For some reason ld behaves differently when parsing input script files that
> originate from a INCLUDE command than those which are given as command line
> arguments, at least when using REGION_ALIAS.
Well I can give you a general answer, which is that the lexical context
is different when parsing the contents of a file included via the INCLUDE
directive, to when parsing a file brought in by the --script option.
(Exactly what is different, and why it is happening I do not know. :-(
> works as expected. What I don't really understand is that why REGION_ALIAS
> is affected, but e.g. OUTPUT_FORMAT is not.
Which form of OUTPUT_FORMAT ? The one with one argument or the one with
three arguments ?
The problem I think is that "syntax error" being referred to is the fact
that the comma is next to the start of the second name in the REGION_ALIAS
directive. Ie the parser thinks that:
REGION_ALIAS("region1wn" ,region1);
contains two names, the first called "region1wn" and the second called
",region1". (Ie starting with a comma, and with no character separating
the two names). For some reason the lexer is treating the comma as a
valid name starting character.
By the way, this does suggest a workaround for the problem. If you change
lines 7 and 8 of region1.ld to be:
/* line 7 */ REGION_ALIAS("region1wn" ,"region1");
/* line 8 */ REGION_ALIAS("region1nn","region1");
Then the script fragment will work.
Cheers
Nick
--
You are receiving this mail because:
You are on the CC list for the bug.