Skip to content

Check that libs found by GCC aren't folders

Alec Theriault requested to merge harpocrates/ghc:arcpatch-D5462 into master

Summary: We use 'gcc -B --print-file-name mylib.a' as a way of checking if 'gcc' can discover 'mylib.a' at the given location. However, this can break down if there is a folder caller 'mylib.a' that 'gcc' can discover. We can guard against this by explicitly checking that the path returned by 'gcc' is a file.

This may seem like a far-fetched scenario, but since 3d17f1f1, we look for libraries without any prefix or suffix (ie. 'extra-libraries: softfloat', we look for just 'softfloat' as well as 'softloat.a', 'softfloat.dll.a', etc.) which means that there might actusally be a folder of that name in one of the base locations.

Reviewers: Phyx, bgamari, hvr, angerman

Reviewed By: Phyx, angerman

Subscribers: angerman, rwbarton, carter

GHC Trac Issues: #16063

Differential Revision: https://phabricator.haskell.org/D5462

Merge request reports