-
Notifications
You must be signed in to change notification settings - Fork 0
Peppar/llvm-C65
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
6502/65816 compatible target for LLVM. CAVEATS This is a *very* unstable, alpha version target. For now, the target can output only to the library object format used by WLA DX (WLAK). The target has been tested only on SFC (SNES) emulators and hardware. The "standard libraries" consist of a set of assembly routines that need to be linked externally. See arith.s and shift.s in the SFC example: https://github.com/Peppar/llvm-C65-sfc-example BUILDING Steps roughly based on https://llvm.org/docs/GettingStarted.html 1. Relative paths specified are important! 2. Check out the modified LLVM git clone https://github.com/Peppar/llvm-C65-llvm.git llvm 3. Check out the target cd llvm/lib/Target git clone https://github.com/Peppar/llvm-C65.git C65 4. Check out the modified Clang cd llvm/tools git clone https://github.com/Peppar/llvm-C65-clang.git clang 5. Configure and build LLVM and Clang mkdir build cd build cmake /path/to/llvm/src -DLLVM_TARGETS_TO_BUILD="X86;C65" cmake --build . TESTING Using the target to compile an SFC (SNES) "game": https://github.com/Peppar/llvm-C65-sfc-example TROUBLESHOOTING If you run out of memory while linking a Debug build of clang, try using the "gold" linker from GNU Binutils. https://www.gnu.org/software/binutils/ If you want to debug clang with gdb, you need to execute the following commands for breakpoints to work consistently: set follow-fork-mode child
About
6502 and compatible processor target for LLVM.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published