bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/30568] --dependency-file includes temporary LTO files


From: npopov at redhat dot com
Subject: [Bug ld/30568] --dependency-file includes temporary LTO files
Date: Tue, 27 Jun 2023 08:42:20 +0000

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

--- Comment #2 from Nikita Popov <npopov at redhat dot com> ---
Thanks for the patch!

> I have a couple of concerns with the patch.  The first is that it uses a 
> simple heuristic to detect LTO generated filenames.  I have no idea how
> robust this will be.

Yes, I agree. The checked sub-strings are pretty short, so it seems likely that
there will be conflicts with real linker inputs. For example, LLVM has a tool
called llvm-lto, so it seems pretty conceivable that "llvm-lto-" appears as
part of a file name.

It would be preferable if we could exclude all files added by the
add_input_file hook from the dependency tracking.

In the original report I suggested using the existing lto_output flag to
distinguish this (for ld.bfd) -- is there any reason why that wouldn't work?

(Another possibility would be to check whether the file still exists when
writing the dependency file -- but I'm not sure whether these files have
already been deleted at that point, or whether that happens later.)

> The second is that the patch strips the filenames from the command line that
> forms the first part of the dependency file, as well as the list of files
> that comes afterwards.  I ma not sure if this is the correct thing to do.
> Maybe the command line should remain unfiltered.

This is the right thing to do: The part at the start isn't a command line, but
rather the actual dependency list in Makefile format, so we do want to filter
that.

-- 
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]