Commit a88c1db
authored
Apple discourages use of the `-flat_namespace` flag, and it exists only
for compatibility with very old versions of OS X. Using
`-flat_namespace` can cause various cryptic linker errors (e.g. due to
name collisions), so it's best to avoid its use unless needed.
This change removes the flag, and also changes `-undefined suppress` to
`-undefined dynamic_lookup`. We need to change the argument to
`-undefined` because omitting the `-flat_namespace` flag will build
shared libraries with a two-level namespace, and this does not support
`-undefined suppress`. `dynamic_lookup` means that the dynamic linker
will resolve undefined symbols at runtime.
This should have no visible impact on any users who do not explicitly
exploit the flat namespace, but this is of often only useful for
debugging purposes. Users who need this still have alternatives such as
setting `DYLD_FORCE_FLAT_NAMESPACE`, which instructs the linker to treat
libraries as if they were compiled with a flat namespace.
1 parent 78539b5 commit a88c1db
3 files changed
+5
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
934 | 934 | | |
935 | 935 | | |
936 | 936 | | |
937 | | - | |
| 937 | + | |
938 | 938 | | |
939 | 939 | | |
940 | 940 | | |
| |||
0 commit comments