summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/baremetal.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [ADT] Normalize empty triple componentsPetr Hosek2018-08-081-1/+1
| | | | | | | | | | | | | | | | | LLVM triple normalization is handling "unknown" and empty components differently; for example given "x86_64-unknown-linux-gnu" and "x86_64-linux-gnu" which should be equivalent, triple normalization returns "x86_64-unknown-linux-gnu" and "x86_64--linux-gnu". autoconf's config.sub returns "x86_64-unknown-linux-gnu" for both "x86_64-linux-gnu" and "x86_64-unknown-linux-gnu". This changes the triple normalization to behave the same way, replacing empty triple components with "unknown". This addresses PR37129. Differential Revision: https://reviews.llvm.org/D50219 llvm-svn: 339294
* Make test/Driver/baremetal.cpp work with linkers other than lldDavid Greene2018-07-301-5/+5
| | | | | | | | This test fails if clang is configure with, for example, gold as the default linker. It does not appear that this test really relies on lld so make the checks accept ld, ld.gold and ld.bfd too. llvm-svn: 338290
* For Windows, allow .exe extension in a test.Paul Robinson2017-10-061-5/+5
| | | | llvm-svn: 315078
* Fix ARM bare metal driver to support atomicsJonathan Roelofs2017-09-061-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The new bare metal support only supports the single thread model. This causes the builtin atomic functions (e.g.: __atomic_fetch_add) to not generate thread-safe assembly for these operations, which breaks our firmware. We target bare metal, and need to atomically modify variables in our interrupt routines, and task threads. Internally, the -mthread-model flag determines whether to lower or expand atomic operations (see D4984). This change removes the overridden thread model methods, and instead relies on the base ToolChain class to validate the thread model (which already includes logic to validate single thread model support). If the single thread model is required, the -mthread-model flag will have to be provided. As a workaround "-mthread-model posix" could be provided, but it only works due to a bug in the validation of the -mthread-model flag (separate patch coming to fix this). https://reviews.llvm.org/D37493 Patch by: Ian Tessier! llvm-svn: 312651
* [test] Fix baremetal test to allow any -resource-dirMichal Gorny2017-06-051-2/+2
| | | | | | | | | | | | | | | The baremetal test (r303873) has been added with expectance of very specific -resource-dir. However, the test itself nor the BareMetal driver does not enforce any specific -resource-dir, making this constraint invalid. It already has been altered twice -- in r303910 for Windows compatibility, and in r304085 for systems using lib64. To account for even more systems, just use [[RESOURCE_DIR]] like a number of other tests do. This is needed for Gentoo where RESOURCE_DIR starts with ../ (uses relative path to a parent directory). Differential Revision: https://reviews.llvm.org/D33877 llvm-svn: 304715
* baremetal.cpp: Fix tests where lib suffix is 64Ismail Donmez2017-05-281-6/+6
| | | | llvm-svn: 304085
* "*" => "+" to avoid matching on empty string.Richard Trieu2017-05-251-1/+1
| | | | llvm-svn: 303934
* Make test/Driver/baremetal.cpp work when output directory isn't named 'bin'.Richard Trieu2017-05-251-1/+1
| | | | llvm-svn: 303932
* Make test/Driver/baremetal.cpp pass on WindowsHans Wennborg2017-05-251-14/+14
| | | | llvm-svn: 303910
* Relax testcase to appease buildbotsJonathan Roelofs2017-05-251-9/+9
| | | | | | | When lld isn't built, the tests as they were previously, were too picky about the path to the linker. llvm-svn: 303880
* Don't defer to the GCC driver for linking arm-baremetalJonathan Roelofs2017-05-251-0/+77
Also comes with a cmake cache for building the runtime bits: $ cmake <normal cmake flags> \ -DBAREMETAL_ARMV6M_SYSROOT=/path/to/sysroot \ -DBAREMETAL_ARMV7M_SYSROOT=/path/to/sysroot \ -DBAREMETAL_ARMV7EM_SYSROOT=/path/to/sysroot \ -C /path/to/clang/cmake/caches/BaremetalARM.cmake \ /path/to/llvm https://reviews.llvm.org/D33259 llvm-svn: 303873
OpenPOWER on IntegriCloud