| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Merge branch 'master' into lto-support | Jesse Meyer | 11 days | 1 | -1/+5 |
| |\ | |||||
| | * | Merge pull request #6220 from laytan/fix-lto-macos | gingerBill | 13 days | 1 | -0/+4 |
| | |\ | | | | | | | fix LTO on MacOS | ||||
| | | * | fix LTO on MacOS | Laytan Laats | 13 days | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no `-minimum-os-version` is given, ignore the `override-module` warnings. The user not using, `-minimum-os-version` opts you into linker warnings about target versions. If a `-minimum-os-version` is provided, normalize it to a full version `11` to `11.0.0` for example. The linker seems to want that when doing LTO. | ||||
| | * | | support -> supported | Jeroen van Rijn | 13 days | 1 | -1/+1 |
| | |/ | |||||
| | * | Add ThinLTO support via -lto:thin and -lto:thin-files flags | Jesse Meyer | 14 days | 1 | -1/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | - Add -lto:thin and -lto:thin-files CLI flags with validation - Emit LLVM bitcode (.bc) instead of object files when LTO is enabled - Pass -flto=thin and -flto-jobs to clang/lld linkers - Guard linkage corrections to skip declarations without definitions (required for LTO where declarations appear across modules) - Allow module-per-file with LTO even at higher optimization levels Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> | ||||
| * | | Fix lld-link LTO jobs flag syntax on Windows | Jesse Meyer | 11 days | 1 | -1/+1 |
| | | | | | | | | | | | | | | | lld-link doesn't recognize /lldltojobs:N as a standalone flag and treats it as a file path. Use /opt:lldltojobs=N instead. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> | ||||
| * | | Add ThinLTO support via -lto:thin and -lto:thin-files flags | Jesse Meyer | 11 days | 1 | -1/+15 |
| |/ | | | | | | | | | | | - Add -lto:thin and -lto:thin-files CLI flags with validation - Emit LLVM bitcode (.bc) instead of object files when LTO is enabled - Pass -flto=thin and -flto-jobs to clang/lld linkers - Guard linkage corrections to skip declarations without definitions (required for LTO where declarations appear across modules) - Allow module-per-file with LTO even at higher optimization levels Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> | ||||
| * | Support `-linker:mold` on FreeBSD and NetBSD; Remove `-use-lld` and ↵ | gingerBill | 2026-01-30 | 1 | -1/+1 |
| | | | | | `-use-radlink` | ||||
| * | Adds static linking to non-windows platforms (#6057) | Fabrice | 2026-01-13 | 1 | -1/+15 |
| | | |||||
| * | Fix orca linking path | Wrath | 2025-10-15 | 1 | -1/+1 |
| | | |||||
| * | Support `-linker:mold` | gingerBill | 2025-09-19 | 1 | -7/+22 |
| | | |||||
| * | windows i386 support | Jon Lipstate | 2025-08-29 | 1 | -1/+5 |
| | | |||||
| * | Rename `iOS` subtarget to `iPhone` for consistency. | Harold Brenes | 2025-07-14 | 1 | -1/+1 |
| | | | | | | Add `ODIN_PLATFORM_SUBTARGET_IOS` builtin constant which evaluated to `true` when the platform is `Darwin` and the subtarget it either `iPhone` or `iPhoneSimulator` | ||||
| * | Fix correct versioned target triplet for iphonesimulator subtarget | Harold Brenes | 2025-07-14 | 1 | -1/+3 |
| | | | | | - Always set the `-m*-version-min` linker flag for non-macOS Darwin subtargets | ||||
| * | Provide default minimum version for iOS and apply its target triplet. | Harold Brenes | 2025-07-14 | 1 | -4/+10 |
| | | | | | - Fix incorrect clang_path override for iOS during link stage. | ||||
| * | Fix accidental incorrect assignment | Harold Brenes | 2025-07-13 | 1 | -1/+1 |
| | | |||||
| * | Updated iOS/iPhoneSimulator build support | Harold Brenes | 2025-07-13 | 1 | -5/+49 |
| | | |||||
| * | fix: escape object files with single quotes during linking | xenobas | 2025-06-20 | 1 | -2/+2 |
| | | |||||
| * | Let `-no-entry-point` work for Windows DLLs | Feoramund | 2025-06-10 | 1 | -0/+3 |
| | | | | | Fixes #4660 | ||||
| * | Also clean up .dSym on Darwin | Jeroen van Rijn | 2025-06-01 | 1 | -3/+3 |
| | | |||||
| * | Always provide /PDB option to linker if generating debug info. | Jeroen van Rijn | 2025-05-29 | 1 | -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 Rijn | 2025-05-26 | 1 | -3/+3 |
| | | | | And document constants not previously listed. | ||||
| * | Enable all sanitizers on FreeBSD | Feoramund | 2025-05-22 | 1 | -0/+12 |
| | | |||||
| * | Add `/usr/local/lib` to FreeBSD linker path | Feoramund | 2025-05-20 | 1 | -0/+3 |
| | | |||||
| * | Use `--sysroot` instead of `-Wl,-syslibroot` on Darwin | Feoramund | 2025-05-18 | 1 | -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 path | Romāns Potašovs | 2025-04-09 | 1 | -1/+1 |
| | | |||||
| * | android: always link liblog | IllusionMan1212 | 2025-04-08 | 1 | -0/+1 |
| | | |||||
| * | fix: use the clang binary that's provided by the android NDK | IllusionMan1212 | 2025-04-07 | 1 | -3/+10 |
| | | | | | always link against libandroid because it's needed by the glue code. | ||||
| * | fix(android): pass `--sysroot` when compiling the android glue code | Hisham Aburaqibah | 2025-04-05 | 1 | -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_riscv | IllusionMan1212 | 2025-04-05 | 1 | -1/+1 |
| | | |||||
| * | fix: cross-compilation for android on linux | IllusionMan1212 | 2025-04-05 | 1 | -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-subtarget | gingerBill | 2025-03-28 | 1 | -44/+156 |
| |\ | | | | | Very Very Rudimentary Support for Android | ||||
| | * | Begin work on `odin package-android` command | gingerBill | 2025-03-26 | 1 | -146/+0 |
| | | | |||||
| | * | Improve bodge for android execute build | gingerBill | 2025-03-26 | 1 | -3/+5 |
| | | | |||||
| | * | Really bodgy android packing system for `odin build` | gingerBill | 2025-03-26 | 1 | -1/+147 |
| | | | |||||
| | * | Remove `_PATH` on android environment variables | gingerBill | 2025-03-26 | 1 | -14/+14 |
| | | | |||||
| | * | Migrate `ODIN_ANDROID_*` constants to `build_settings.cpp`; ↵ | gingerBill | 2025-03-26 | 1 | -36/+6 |
| | | | | | | | | | `-minimum-os-version:<int>` for `-subtarget:android` | ||||
| | * | Add `-show-more-timings` for Android stuff | gingerBill | 2025-03-26 | 1 | -0/+9 |
| | | | |||||
| | * | Very very rudimentary support for `-target:linux_arm64 -subtarget:android` | gingerBill | 2025-03-26 | 1 | -10/+157 |
| | | | |||||
| | * | Make things rely less on `#if` guards | gingerBill | 2025-03-26 | 1 | -33/+17 |
| | | | |||||
| * | | Fix linker invocation on OpenBSD. | Dave Voutila | 2025-03-27 | 1 | -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 targets | gingerBill | 2025-01-28 | 1 | -1/+23 |
| | | |||||
| * | Remove duplicates of .framework/.dynlib/.so in linker | gingerBill | 2025-01-22 | 1 | -1/+10 |
| | | |||||
| * | Add `-linker:<string>` to replace `-lld` and `-radlink` | gingerBill | 2024-11-14 | 1 | -8/+13 |
| | | |||||
| * | Add `-radlink` | gingerBill | 2024-11-14 | 1 | -20/+41 |
| | | |||||
| * | Revert further simplifiction | 0dminnimda | 2024-11-04 | 1 | -1/+1 |
| | | |||||
| * | Simplify further | 0dminnimda | 2024-11-04 | 1 | -1/+1 |
| | | |||||
| * | Simplify use of pie | 0dminnimda | 2024-11-04 | 1 | -20/+9 |
| | | |||||
| * | Add support for linking as pie | 0dminnimda | 2024-11-04 | 1 | -2/+22 |
| | | |||||
| * | quote the dsymutil argument | Laytan Laats | 2024-10-25 | 1 | -1/+1 |
| | | | | | Fixes #4417 | ||||