summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn/secondary/libcxx/src
Commit message (Collapse)AuthorAgeFilesLines
* gn build: unbreak libcxx build after r374116 by restoring gen_link_script.py ↵Nico Weber2019-10-081-1/+1
| | | | | | for gn llvm-svn: 374129
* gn build: Use rebase_path on filename args to libcxx/utils/gen_link_script.pyHans Wennborg2019-07-301-2/+2
| | | | | | | | | | | | | | | | | | | $ ninja -j800 [1/5] ACTION //libcxx/src:cxx_linker_script(//llvm/utils/gn/build/toolchain:stage2_unix) FAILED: lib/libc++.so python ../libcxx/utils/gen_link_script.py --input //build.gn/lib/libc++.so.0 --output //build.gn/lib/libc++.so c++abi unwind GENERATING SCRIPT: 'INPUT(libc++.so.0 -lc++abi -lunwind)' as file //build.gn/lib/libc++.so Traceback (most recent call last): File "../libcxx/utils/gen_link_script.py", line 57, in <module> sys.exit(main()) File "../libcxx/utils/gen_link_script.py", line 50, in main with open(args.output, 'w') as f: IOError: [Errno 2] No such file or directory: '//build.gn/lib/libc++.so' ninja: build stopped: subcommand failed. Differential revision: https://reviews.llvm.org/D65449 llvm-svn: 367314
* Update gn filesVitaly Buka2019-07-081-0/+1
| | | | llvm-svn: 365354
* gn build: Merge r355546Nico Weber2019-07-071-0/+2
| | | | | | Found by inspection; the sync script doesn't sync .ipp files. llvm-svn: 365280
* gn build: Merge r365273Nico Weber2019-07-071-0/+1
| | | | llvm-svn: 365279
* gn build: Sort cxx_sources in libcxx build fileNico Weber2019-07-071-33/+33
| | | | | | | | | | | Since these are in a custom list, `gn format` doesn't automatically sort them. Now their order matches the CMake build. No additions or deletions, this just sorts the files that are there. llvm-svn: 365277
* [libcxx] Don't use -fvisibility-global-new-delete-hidden when not defining themPetr Hosek2019-05-061-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | When builing the hermetic static library, the compiler switch -fvisibility-global-new-delete-hidden is necessary to get the new and delete operator definitions made correctly. However, when those definitions are not included in the library, then this switch does harm. With lld (though not all linkers) setting STV_HIDDEN on SHN_UNDEF symbols makes it an error to leave them undefined or defined via dynamic linking that should generate PLTs for -shared linking (lld makes this a hard error even without -z defs). Though leaving the symbols undefined would usually work in practice if the linker were to allow it (and the user didn't pass -z defs), this actually indicates a real problem that could bite some target configurations more subtly at runtime. For example, x86-32 ELF -fpic code generation uses hidden visibility on declarations in the caller's scope as a signal that the call will never be resolved to a PLT entry and so doesn't have to meet the special ABI requirements for PLT calls (setting %ebx). Since these functions might actually be resolved to PLT entries at link time (we don't know what the user is linking in when the hermetic library doesn't provide all the symbols itself), it's not safe for the compiler to treat their declarations at call sites as having hidden visibility. Differential Revision: https://reviews.llvm.org/D61571 llvm-svn: 360003
* [gn] Support for building libc++Petr Hosek2019-05-021-0/+301
This change introduces support for building libc++. The library build should be complete, but not all CMake options have been replicated in GN. We also don't support tests yet. We only support two stage build at the moment. Differential Revision: https://reviews.llvm.org/D61143 llvm-svn: 359806
OpenPOWER on IntegriCloud