RFR: 8352481: Extra a.out generated after configure with clang [v4]

Magnus Ihse Bursie ihse at openjdk.org
Mon Mar 24 15:34:10 UTC 2025


On Mon, 24 Mar 2025 15:31:23 GMT, SendaoYan <syan at openjdk.org> wrote:

>> Hi all,
>> 
>> There is an extra a.out file generated located in repository root directory after execute the configure command with llvm/clang compiler sometimes, not always. The a.out was generate by `$LINKER -Wl,-v 2>&1 | $HEAD -n 1`, shows as below. This PR  add a command to remove the extra a.out file. No risk.
>> 
>> 
>>> rm -rf a.out ; date ; ~/software/acc/x86_64/bin/clang -Wl,-v 2>&1 | head -n 1 ; stat a.out ; ls -lh a.out ; file a.out
>> Thu Mar 20 02:46:13 PM CST 2025
>> GNU ld (GNU Binutils) 2.43.50.20240909
>>   File: a.out
>>   Size: 792 Blocks: 8 IO Block: 4096 regular file
>> Device: 10303h/66307d Inode: 2355308 Links: 1
>> Access: (0640/-rw-r-----) Uid: ( 995/yansendao) Gid: ( 992/yansendao)
>> Access: 2025-03-20 14:46:13.682967228 +0800
>> Modify: 2025-03-20 14:46:13.682967228 +0800
>> Change: 2025-03-20 14:46:13.682967228 +0800
>>  Birth: 2025-03-20 14:46:13.674966977 +0800
>> -rw-r----- 1 yansendao yansendao 792 Mar 20 14:46 a.out
>> a.out: data
>
> SendaoYan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix spelling bug

`RM` is actually defined as `rm -f` so the `-f` is not necessary.

I'm still not very happy with this solution. It will remove any `a.out` file the user has lying around. Granted, they are normally temporary testing files, but it is highly surprising that running `configure` should remove them. To fix that, we would need to check for the existence of `a.out` prior to running the link command to set a flag if we should allow deletion or not.  That would make the patch more complex. So I don't think this is the right way to go.

Later on, we will pass `-fuse-ld=lld` to `clang`. I think the correct fix is to make sure it is always passed, from the very beginning, even when checking version strings etc.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24125#issuecomment-2748540061


More information about the build-dev mailing list