Help needed: File reading problems in gas?
Georg-Johann Lay
avr@gjlay.de
Thu Jun 8 12:43:00 GMT 2017
On 08.06.2017 14:20, Nick Clifton wrote:
> Hi Johann,
>
>> conftest.s: Assembler messages:
>> conftest.s: Error: can't open for reading: No such file or directory
>>
>> It works if
>>
>> - remove the "&& ld..." part of ac_try
>> - the content of ac_try is executed directly (without eval)
>
>> Any ideas?
>
> This appears to be a weird shell scripting problem. The error message
> is happening because gas is being passed a command line that includes a
> single space as an argument. I added this patch to as.c:
>
> diff --git a/gas/as.c b/gas/as.c
> index 83a572b..80a8a01 100644
> --- a/gas/as.c
> +++ b/gas/as.c
> @@ -1168,6 +1168,7 @@ perform_an_assembly_pass (int argc, char ** argv)
> { /* Is it a file-name argument? */
> PROGRESS (1);
> saw_a_file++;
> + fprintf (stderr, "ARG %d ARGV %p *ARGV %s %d\n", argc + 1, argv, * argv, ** argv);
> /* argv->"" if stdin desired, else->filename. */
> read_a_source_file (*argv);
> }
>
> and the output shows:
>
> ARG 2 ARGV 0x122b8c8 *ARGV conftest.s 99
> ARG 1 ARGV 0x122b8d0 *ARGV 32
>
> So this is not an assembler problem. Poor old gas is being asked to assemble a
> non-existent file.
>
> Cheers
> Nick
Thanks, I traced it back to the call of main, and it gets a " " as last
argument... which is because of the \ in the ac_try... My bad
So I eventually ran something like "avr-as conftest.s \ ".
Sorry for the noise,
Johann
More information about the Binutils
mailing list