bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/18344] ld emits unnecessary line breaks that pollute the output


From: saulery at free dot fr
Subject: [Bug ld/18344] ld emits unnecessary line breaks that pollute the output of compilers.
Date: Tue, 28 Apr 2015 15:14:11 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18344

--- Comment #5 from Stéphane Aulery <saulery at free dot fr> ---
I made what you request. The warning is no longer displayed, but the lines
breaks sounds still there.

The resulting program no longer works as mentioned in the FPC FAQ:

[http://www.freepascal.org/faq.var#unix-ld219]

An error occurred while linking, or "did you forget -T?"

There is a bug in GNU LD 2.19 and 2.19.1 that causes it to crash when
processing FPC-generated linker scripts. This bug has been fixed in the mean
time.

At the same time, LD has been modified to emit a warning of the form

 /usr/bin/ld: warning: link.res contains output sections; did you forget -T?

This warning is benign, and FPC intentionally does not pass -T to LD. The
reason is that if -T is used, LD's internal linker script is ignored and only
FPC's linker script is used. Such linker scripts also contain paths to
libraries however, and if we would ignore the internal linker script then LD
would no longer find libraries in distribution-specific directories.




I have reported the problem to the FPC bugtracker and explored by hand the ld
code and flex before writing this bug report.

http://bugs.freepascal.org/view.php?id=27988

I reproduce this bug by adding some putchar call around ECHO like that:

3206 case 197:
3207 YY_RULE_SETUP
3208 #line 473 "ldlex.l"
3209 lex_warn_invalid (" in expression", yytext);
3210    YY_BREAK
3211 case 198:
3212 YY_RULE_SETUP
3213 #line 475 "ldlex.l"
     putchar('a');
3214 ECHO;
     putchar('b');
3215    YY_BREAK

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]