A bad change to gas

H . J . Lu hjl@valinux.com
Sat Jun 3 20:42:00 GMT 2000


On Sun, Jun 04, 2000 at 01:35:25PM +1000, Alan Modra wrote:
> On Sat, 3 Jun 2000, H . J . Lu wrote:
> 
> > The problem is `;' was the line separator by default. Many CPUs,
> > including ia32, doesn't have `;' in line_separator_chars. Your change
> > just breaks all those CPUs :-).
> 
> Oops, that really is a bug of the red-faced variety.  Your fix isn't right
> though, because some CPU's, eg. hppa, *don't* use `;' as a line separator.

I tried hppa with my patch. `;' is not used as a line separator.

> I'm fixing your fix :-) for my breakage by putting back the #ifdef TC_HPPA 
> we originally had.
> 
> The proper fix is to go through all the gas/config/tc files and explicitly
> add the `;' to line_separator_chars.  I think it's worth doing things

I tried it first. But I am not so convinced that it is a right way
to go. It may break some platforms. If `;' is not a line separator on
a platform by default, it is ok to treat it as a line separator unless
it is for something else. In case of hppa, `;' is a comment char.
It is set by comment_chars. It will override is_end_of_line.

> correctly as we get to remove a target dependent #ifdef from the
> supposedly target independent files.
> 

Could you please provide a testcase before you make any changes? I'd
like to keep the way it is unless there is a testcase to show the
current code is wrong.

Thanks.


-- 
H.J. Lu (hjl@gnu.org)


More information about the Binutils mailing list