8127 – dmd link library paths not given precedence over gcc defaults

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 8127 - dmd link library paths not given precedence over gcc defaults
Summary: dmd link library paths not given precedence over gcc defaults
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All Linux
: P2 enhancement
Assignee: John Belmonte
URL:
Keywords:
Depends on:
Blocks:
Reported: 2012年05月20日 19:53 UTC by John Belmonte
Modified: 2012年05月24日 00:42 UTC (History)
1 user (show)

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description John Belmonte 2012年05月20日 19:53:57 UTC
Given a machine with globally installed D libraries such as phobos2 which appear in gcc's default library paths, dmd provides no way to supply a library path with higher precedence. Any -L-L/path/... given to dmd will have lower precedence. This makes it very difficult to manage local dmd installs, where it's essential to override any globally installed versions of the phobos2 library. Likewise for any third-party D libraries which one may be developing.
I believe the problem stems from dmd's inconsistent use of the -Xlinker flag. The -l and -L link options exist in both native gcc and pass-through forms (latter by way of -Xlinker or -Wl. The dmd link line uses the gcc native form for -l, but the pass-through form for -L. This pattern appears to give precedence to gcc's default library paths during library searches.
If link.c is changed to use native gcc options for both -l and -L, the library paths supplied to -L will be given precedence over gcc default paths.
Comment 1 John Belmonte 2012年05月21日 18:08:10 UTC
https://github.com/D-Programming-Language/dmd/pull/962 
Comment 2 github-bugzilla 2012年05月23日 23:13:51 UTC
Commits pushed to master at https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/4dbf21ec176de2e1d8e42a538173c4582a25f1c9
fix Issue 8127 - dmd link library paths not given precedence over gcc defaults
https://github.com/D-Programming-Language/dmd/commit/e95ee9e91a5d0aea169e68fb84d0d92684d22258
Merge pull request #962 from belm0/linker_path_order
fix Issue 8127 - dmd link library paths not given precedence over gcc defaults


AltStyle によって変換されたページ (->オリジナル) /