aboutsummaryrefslogtreecommitdiff
path: root/src/linker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Also clean up .dSym on DarwinJeroen van Rijn2025-06-011-3/+3
|
* Always provide /PDB option to linker if generating debug info.Jeroen van Rijn2025-05-291-1/+1
| | | | | | | radlink by default places the .PDB file in the working directory, even if /OUT says to place it elsewhere, unlike link.exe, which places it next to the executable by default. So, if compiling using -debug, we generate a PDB path even if -pdb-name wasn't used to override it.
* Add comments to `builtin.odin`, documenting ODIN_* constants. (#5218)Jeroen van Rijn2025-05-261-3/+3
| | | And document constants not previously listed.
* Enable all sanitizers on FreeBSDFeoramund2025-05-221-0/+12
|
* Add `/usr/local/lib` to FreeBSD linker pathFeoramund2025-05-201-0/+3
|
* Use `--sysroot` instead of `-Wl,-syslibroot` on DarwinFeoramund2025-05-181-1/+11
| | | | | This keeps the linker from using the wrong SDK and mirrors how we build the Odin compiler itself in `build_odin.sh`.
* add quotes for absolute pathRomāns Potašovs2025-04-091-1/+1
|
* android: always link liblogIllusionMan12122025-04-081-0/+1
|
* fix: use the clang binary that's provided by the android NDKIllusionMan12122025-04-071-3/+10
| | | | always link against libandroid because it's needed by the glue code.
* fix(android): pass `--sysroot` when compiling the android glue codeHisham Aburaqibah2025-04-051-0/+5
| | | | | This prevents a `function-like macro '__GLIBC_USE' is not defined` compilation error from happening with newer NDK versions (I tried r28)
* fix cross compilation for linux_riscvIllusionMan12122025-04-051-1/+1
|
* fix: cross-compilation for android on linuxIllusionMan12122025-04-051-1/+2
| | | | | | | add `-nodefaultlibs` when cross-linking for android to prevent clang from linking with libgcc check build mode first before calling `init_android_values` to prevent printing a message that tells the user to set `-android-keystore` if its not set and build mode is exe
* Merge pull request #4970 from odin-lang/bill/android-subtargetgingerBill2025-03-281-44/+156
|\ | | | | Very Very Rudimentary Support for Android
| * Begin work on `odin package-android` commandgingerBill2025-03-261-146/+0
| |
| * Improve bodge for android execute buildgingerBill2025-03-261-3/+5
| |
| * Really bodgy android packing system for `odin build`gingerBill2025-03-261-1/+147
| |
| * Remove `_PATH` on android environment variablesgingerBill2025-03-261-14/+14
| |
| * Migrate `ODIN_ANDROID_*` constants to `build_settings.cpp`; ↵gingerBill2025-03-261-36/+6
| | | | | | | | `-minimum-os-version:<int>` for `-subtarget:android`
| * Add `-show-more-timings` for Android stuffgingerBill2025-03-261-0/+9
| |
| * Very very rudimentary support for `-target:linux_arm64 -subtarget:android`gingerBill2025-03-261-10/+157
| |
| * Make things rely less on `#if` guardsgingerBill2025-03-261-33/+17
| |
* | Fix linker invocation on OpenBSD.Dave Voutila2025-03-271-0/+7
|/ | | | | | | | | | | Firstly, we need to explicitly request pthreads and also need to mind the fact ports (like SDL2) install in /usr/local/lib. Secondly, since OpenBSD 7.4 the system enforces indirect branch targets on hardware platforms that support it. Until the LLVM integration in Odin can be changed to emit proper branch targets (e.g. endbr64 on amd64), we need to request the linker make the resulting program opt-out of enforcement.
* Print frameworks first on Darwin targetsgingerBill2025-01-281-1/+23
|
* Remove duplicates of .framework/.dynlib/.so in linkergingerBill2025-01-221-1/+10
|
* Add `-linker:<string>` to replace `-lld` and `-radlink`gingerBill2024-11-141-8/+13
|
* Add `-radlink`gingerBill2024-11-141-20/+41
|
* Revert further simplifiction0dminnimda2024-11-041-1/+1
|
* Simplify further0dminnimda2024-11-041-1/+1
|
* Simplify use of pie0dminnimda2024-11-041-20/+9
|
* Add support for linking as pie0dminnimda2024-11-041-2/+22
|
* quote the dsymutil argumentLaytan Laats2024-10-251-1/+1
| | | | Fixes #4417
* support the rpath changes on macosLaytan Laats2024-09-051-6/+6
|
* add -no-rpathLaytan2024-09-041-3/+5
|
* set -rpath to \$ORIGIN and expect libraries next to executable just like WindowsLaytan2024-09-041-6/+8
|
* add support for linux_riscv64 and freestanding_riscv64Laytan2024-08-201-8/+21
|
* Allow precompiled resources with -resource:foo.resJeroen van Rijn2024-07-101-8/+3
| | | | And add them to the magic new feature.
* Allow using precompiled .res file.Jeroen van Rijn2024-07-101-20/+25
|
* #3892 - Use temporary directory for asm file generationgingerBill2024-07-091-2/+31
|
* wasm: add foreign import and linking of wasm object filesLaytan Laats2024-07-021-0/+14
|
* Fix #3819gingerBill2024-06-281-2/+16
|
* Allow `ODIN_CLANG_PATH=clang-path` overridesJeroen van Rijn2024-06-271-1/+8
| | | | | | Link using `clang`, unless overridden by `ODIN_CLANG_PATH` environment variable. Fixes #3783
* Fix `rc.exe` bug with double-quoted `.res` path.Jeroen van Rijn2024-06-161-2/+6
|
* orca windowslaytan2024-06-051-6/+4
|
* improve orca targetLaytan Laats2024-06-051-10/+26
|
* Add experimental target `orca_wasm32`gingerBill2024-05-301-4/+16
|
* Reimplement `-build-mode:static`/`-build-mode:lib`gingerBill2024-05-161-7/+24
|
* Merge pull request #3369 from joakin/fix-dynamic-library-from-vendor-on-linuxgingerBill2024-05-031-1/+1
|\ | | | | Fix vendor dynamic libraries not working on Linux
| * Recognize dynamic library names like libraylib.so.5.0.0joakin2024-04-191-1/+1
| |
* | Fix minor buggingerBill2024-04-261-1/+1
|/
* fix nasm checkLaytan Laats2024-04-081-1/+1
|