[PATCH 1/2] gas/as.c: print input and output details when error

Robert Yang liezhi.yang@windriver.com
Thu Aug 9 09:15:00 GMT 2018



On 08/09/2018 04:29 PM, Jan Beulich wrote:
>>>> On 09.08.18 at 10:20, <liezhi.yang@windriver.com> wrote:
>> On 08/09/2018 03:42 PM, Jan Beulich wrote:
>>>>>> On 09.08.18 at 05:49, <liezhi.yang@windriver.com> wrote:
>>>> --- a/gas/as.c
>>>> +++ b/gas/as.c
>>>> @@ -1259,8 +1259,10 @@ main (int argc, char ** argv)
>>>>    	      if (sib.st_ino == sob.st_ino && sib.st_ino != 0)
>>>>    		{
>>>>    		  /* Don't let as_fatal remove the output file!  */
>>>> +		  saved_out_file_name = xstrdup (out_file_name);
>>>>    		  out_file_name = NULL;
>>>> -		  as_fatal (_("The input and output files must be distinct"));
>>>> +		  as_fatal (_("The input (%s, ino: %ld) and output (%s, ino: %ld) files must be distinct"),
>>>> +			   argv[i], sib.st_ino, saved_out_file_name, sob.st_ino);
>>>
>>> The if() condition guarantees both ino-s to be the same - why
>>> print the same number twice? Instead, in your next patch,
>>
>> Yes, "if condition" guarantees that, but we don't know that unless look into
>> the source code. However, the error messages seems not clear enough, so how
>> about change the message to:
>>
>> as_fatal (_("The input '%s' and output '%s' have the same inode %ld"),
>>              argv[i],  sib.st_ino, saved_out_file_name))
> 
> LGTM

Thanks, I will send a V2.

// Robert

> 
>>> perhaps also print dev?
>>
>> Did you mean print st_dev? I think that we don't need it any more if we update
>> the error message like above.
> 
> Well, I was just thinking that an inode number without device is
> sort of lacking some context.
> 
> Jan
> 
> 
> 



More information about the Binutils mailing list