Add gcc2.96#1979
Conversation
| GCC_296 = GCCCompiler( | ||
| id = "gcc2.96", | ||
| platform=GBA, | ||
| cc='"${COMPILER_DIR}"/usr/local/bin/arm-elf-gcc $COMPILER_FLAGS -S -o - "$INPUT" | arm-none-eabi-as -mcpu=arm7tdmi -o "$OUTPUT"' |
There was a problem hiding this comment.
any reason you aren't using usr/local/bin/arm-elf-as ? wont this affect matching?
There was a problem hiding this comment.
I don't think it should, most GBA games use modern gnu as as the assembler. We certainly do for the gs-decomp project as building the whole toolchain is a little more involved than just getting gcc / cc1.
E: To clearify: I kinda just mirrored a) the other gba compilers, b) our own Makefile :)
There was a problem hiding this comment.
If you guys are getting matches without needing era-specific assembler then all good - was just flagging to make sure it wasnt a mistake :)
|
Created a preset: https://decomp.me/preset/236. I can assign you as the owner once you've created a scratch on the site. |
…d behavior (#2033) * Strip Set-Cookie header on public endpoints (#1775) * Add 24 hour caching of public images (#1777) * Enable objdiff tab by default & add diff tab option (#1778) * Enable objdiff tab by default & add diff tab option * biome format --fix * 🤖 (chore): bump m2c / asm-differ to latest (#1780) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1781) Co-authored-by: GitHub Actions <actions@github.com> * added missing ENABLE_WIIU_SUPPORT arg and env var to backend Dockerfile (#1782) * Compiler downloads are determined at runtime not build-time (#1796) * Make PlatformIcon into PlatformLink for Preset List (#1798) * Switch restart policy to unless-stopped (#1799) * Add Android platform and NDK r8e (#1794) * Add Android platform and NDK r8e * Fixup android_x86 PR --------- Co-authored-by: Seán de Búrca <sdeburca@fastmail.net> Co-authored-by: Mark Street <streetster@gmail.com> * Pin nginx version to avoid brotli mismatch (#1801) * Don't break on objdump for Android x86 (#1802) Co-authored-by: Seán de Búrca <sdeburca@fastmail.net> * Use x86_64 binutils package for android objdump/nm (#1803) * Ensure .sh files are checked out with LF (not CRLF) (#1804) * Add instructions for restoring a prod db dump locally (#1812) * Bump frontend deps (#1811) * Prevent user selecting diff text when dragging bar to resize diff columns (#1814) * Prevent user selecting diff text when dragging bar to resize * yarn format * Add GCC 4.4.3 to Android NDK r8e (#1813) * Add GCC 4.4.3 to Android NDK r8e * Fix ordering of Android compilers * Android Order fix pt. 2 * Add Xbox 360 platform (#1701) * Add Xbox 360 platform * Add xbox360-binutils and restore non-nullable platform fields - Install powerpc-xenon-pe-* binutils from xbox360-binutils 2.45.1-1 in the backend Dockerfile, mirroring the gc-wii-binutils pattern - Configure XBOX360 platform with assemble/objdump/nm commands using the new powerpc-xenon-pe-* tools - Revert assemble_cmd/objdump_cmd/nm_cmd to non-nullable str (no longer needed now that xbox360 has proper binutils) - Remove has_assembler/has_objdump from platform JSON serialization * Bump wibo to 1.0.1 Includes TLS directory and GlobalMemoryStatus support which may fix the msvc_ppc_16.00.11886.00 segfault under wibo. * Merge pull request #2 from decompme/fixup-xbox360-svg Fixup svg * Update Xbox 360 description to avoid wrapping --------- Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com> * Consolidate 'copy to clipboard' functionality (#1815) * Consolidate 'copy to clipboard' functionality * PR feedback from lord gpt * yarn format + yarn lint * Move from scss to tailwind * tweak * Don't forget about light mode * yarn lint * handle ssr * pr feedback from mr gpt * remove debug console.logs * Diff compression (#1810) * Add diff compression * Fix existing 'React has detected a change in the order of Hooks called by DiffCell.' issue * Allow compressed runs to be expanded * smol tweak to button hover * don't forget about the 3rd column * remove debugging log * Move early return *after* hooks to ensure consistency * Remove usage of useEffect * nits * pull CompressToggleButton into its own function * yarn lint * Collapse ... *matching* lines (#1818) * Problems pane consistency (#1817) * rename '_top/buttom' to be more intuitive * Ensure we toggle problems collapsed state onclick * Add helpful placeholder text to CodeMirror elements (#1816) * 🤖 (chore): bump m2c / asm-differ to latest (#1819) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1821) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1824) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1825) Co-authored-by: GitHub Actions <actions@github.com> * Hide unclaimed scratches (#1823) * Don't show unclaimed scratches in frontend * logging. should be logger. * woops * Bump gc-wii-binutils to 2.42-2 (#1832) * Deduplicate Scratch.context (#1828) * Deduplicate Scratch.context * Align on_delete behaviour with db * Add some unit tests * mypy * ruff not black... * Tweak to migrations based on makemigrations * Deduplicate scratch context part 2 (#1839) * Remove deprecated Scratch.context field * Update housekeeping to remove orphan contexts * Fix serializer * Omit context on TerseScratchSerializer * Add some basic platform assemble_cmd tests (#1841) * Add some basic platform assembly tests * Simplification * sure, why not... * chatgpt pr feedback * ensure objdump output is not empty * Move binutils downloads into separate layer of Dockerfile (#1842) * Shrink backend Docker image by ~300MB * forot that uv needs git * 🤖 (chore): bump m2c / asm-differ to latest (#1843) Co-authored-by: GitHub Actions <actions@github.com> * Remove git from prod backend image (#1844) * Remove git from prod backend image * Explicitly target --dev * Specify as/nm/objdump for binutil downloads * Reduce re-renders in Scratch.tsx (#1840) * Memoize to reduce re-renders * Improve useSelectedSourceLine to avoid re-renders * Tidy up PR * Prevent context fk n+1 (#1846) * Prevent n+1 query on TerseScratchSerializer * Add a few more readonly fields to ScratchSerializer for sanity * allow context to be blank * *allow*_blank * Bump backend deps (#1845) * Bump backend deps * mypy * Add few more armcc 4.0/4.1 compilers (#1847) * Ensure geo.conf is loaded before default.conf (#1849) * Show 'Select a Platform' placeholder when PlatformSelectDropdown does… (#1848) Show 'Select a Platform' placeholder when PlatformSelectDropdown does not have a value * 🤖 (chore): bump m2c / asm-differ to latest (#1850) Co-authored-by: GitHub Actions <actions@github.com> * Update housekeeping to remove unchanged, anonymous, forks (#1851) * Actually run the unchanged fork housekeeping job (#1853) * 🤖 (chore): bump m2c / asm-differ to latest (#1857) Co-authored-by: GitHub Actions <actions@github.com> * Replace elfcnv.exe with rof2elf.py for Dreamcast platforms (#1860) * Add 'num_scratches' to user endpoint (#1858) * Add 'num_scratches' to user endpoint * mypy * ruff * 🤖 (chore): bump m2c / asm-differ to latest (#1859) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1861) Co-authored-by: GitHub Actions <actions@github.com> * User og (#1862) * Add User OG image * Caching * Update FAQ (#1863) * Update FAQ * Add question/answer about scraping * PR feedback 1 * make questions links * ethan pr feedback * Deprecate database claim_token (#1856) * Add image to user og metadata (#1865) * Add image to user og metadata * remove description as it is redundant * Ensure certbot container is always up (#1872) * Cleanup diff wrapper (#1873) * DiffWrapper doesnt need COMPILER_BASE_PATH * Simplify PATH handling in Sandbox * ruff * bit more cleanup * Remove claim token from the database (#1869) * Remove Scratch.claim_token from database * Fix tests, mypy * Ooops * ruff * Handle '{source_code:null}' being sent to /compile (#1871) * Add isort to ruff checks for consistent import order (#1870) * sandbox.py tweaks (#1874) chatgpt tweaks * Undo 'shlex.join()' in sandbox (#1875) * Add gcc2.7.2-cdk (2.7.2-970404) (#1877) * Add gcc2.7.2-cdk (2.7.2-970404) * ruff format * 🤖 (chore): bump m2c / asm-differ to latest (#1881) Co-authored-by: GitHub Actions <actions@github.com> * Wrap labels in quotes in prelude asm (#1882) * Add ability to hide diff columns (#1879) * Add ability to hide diff columns * PR tweaks from gpt * Bugfix maligned cells (#1883) * Use same button style for compress matching streaks (#1884) * Use same button style for compress matching streaks * PR feedback * fixup that last commit * Remove padding from progress bar (#1889) * Fix vertical alignment of hamburger (#1890) * Bump nginx to 1.28.3 (#1891) * Move problems panel to top tab on mobile (#1888) * Move problems panel to bottom tab on mobile * Slightly reduce tab button height on mobile * cleanup pr * swap code/diff * Hide toolbar text on when screen shrinks (#1887) * Hide toolbar text on mobile * use css rather than js * cleanup pr * hide 'timeago' on mobile * 🤖 (chore): bump m2c / asm-differ to latest (#1893) Co-authored-by: GitHub Actions <actions@github.com> * Run django's clearsessions to purge expired sessions (#1895) * Allow users to swap the vertical layout on mobile (#1894) * Run django migrations *before* running housekeeping (#1896) * Allow --adjust-vma=1234 in diff_flags (#1898) * Allow --adjust-vma=1234 in diff_flags * First attempt to wire into frontend * Refactor * Add | to bad chars * different approach * allow more chars in --disassemble= based on usage * smol tweaks * Bump nginx to 1.30.0 (#1903) * Try bumping nsjail to 3.6 (#1904) * Try bumping nsjail to 3.6 * update comment now i know why its happening * Actually use sizes as part of Allotment (#1907) * Reduce Nav py padding from 8px to 4px (so 16px -> 8px) on mobile (#1908) * Reduce Nav py padding from 8px to 4px (so 16px -> 8px) on mobile * shave off 4px more * Make / cacheable (#1909) * Add ido4.1 (#1902) * Add ido4.1 * Update compilers.py * Add ido4.1 to compilers.linux.yaml --------- Co-authored-by: LLONSIT <LLONSIT@users.noreply.github.com> * Enable --turbopack (#1912) * Fix these two tests that fail when the site is running (#1914) * Add sha256sum checks to archives downloaded in Dockerfile (#1913) * Add sha256sum checks to archives downloaded in Dockerfile * bit more cleanup * Don't forget the libs * Add --no-dev to uv install (#1915) * Add --no-dev to uv install * move responses+parameterized from dev to main deps * sort imports alphabetically * final sweep * Codex refactors (#1910) * Simplify/refactor NewScratchForm * Simplify/refactor NewScratchForm - tests * Simplify/refactor Search * Simplify/refactor CompilerOpts * Ensure cached decorator only used for GET/HEAD/OPTIONS * Add explicit multi-part-form test for scratch api upload * More general tweaks * mypy * Add limit to objdump's lrucache * remove unused gen_claim_token * Don't try to diff when compilation fails (#1917) * Don't try to diff when compilation fails * fixup * Cache /new, /platform + /preset (#1918) * Fix compiler flags regression (#1920) * Fix regressions (#1921) * Fix compiler flags regression * Fix diff target regression * Bump CI Node 20 deps... (#1923) * Bump CI Node 20 deps... * oops, missed one * Use the same nginx build for dev (#1922) * Upgrade backend to Ubuntu 26.04 (#1916) * Upgrade backend to Ubuntu 26.04 * Add missing .so * Improve error message when processes inside nsjail fail * mypy * bump minimum to python3.12 & take advantage of it * also bump ci * Bump peter-evans/create-pull-request to v8 (#1925) * Upgrade next from 15 to 16 (#1919) * Upgrade next from 15 to 16 * og image library changed fonts, so use 'our' font over default * use default og font * try again * add more guards against/during component unmounting (#1924) * Add -marmv5te to nds objdump (#1929) * Extra guard around loading values from localStorage (#1928) * Add scratch list icons for better/matched forks (#1926) * Add scratch list icons for better/matched forks * ruff * Cleanup * more cleanup * undo change to frontend/next-env.d.ts * tweak the pill * Disable prefetch for all Links (#1933) * Rework 'warn on unsaved scratch' behaviour (#1934) * Rework 'warn on unsaved scratch' behaviour * fix broken back button * Fixup unsaved title (#1935) * Fix stale (unsaved) page title * Fix TimeAgo hydration warning * Simplify Fork behaviour * undo local testing * Better handling of scratch deletion * Update GITHUB.md to reflect Docker setup (#1937) * Allow preset owners to edit compiler_flags (#1938) * Allow preset owners to edit compiler_flags * mypy * Move housekeeping into coreapp and cleanup more stuff (#1939) * Housekeeping batches (#1941) * Batch housekeeping deletes * default them all * tweak 2 * Avoid treating freshly loaded scratch as 'unsaved' (#1942) * Avoid treating freshly loaded scratch as 'unsaved' * that didnt work so add some logging * normalise line endings when comparing src+ctx * fix for chippy * More endpoint validation (#1944) * 🤖 (chore): bump m2c / asm-differ to latest (#1945) Co-authored-by: GitHub Actions <actions@github.com> * Set LD_LIBRARY_PATH for dosemu (#1954) * Improve diff contrast in light mode (#1951) * Fix unbounded search length (#1950) * Add 'delete scratch' button to user profile page (#1943) * Add delete button to scratches * Updated styling for trash can colors * Added admin override to delete button * Added error checking to deleting scratch * Updated import order * Changing warning colors from rgb() to hex * Linter fixes * Changed delete button to always be red, added 'Delete' text and shrunk it to match the improvement slot banner sizing a bit better; removed extra whitespace * Updated styling to match the improvement pill's style even more * Update delete button styling * Linter * Add delete check to prevent double clicking on delete button * Styling tweaks * forgot frontend/src/app/globals.scss * linter fixes --------- Co-authored-by: Mark Street <streetster@gmail.com> * Assign more languages (#1957) * More consistent use of compiler Language * be smarter * Friendlier error message when creating scratch with bad asm (#1955) * Add anonymised db dump instructions to POSTGRES.md (#1948) * Add anonymised db dump instructions to POSTGRES.md * Make POSTGRES more userfriendly * Make compiler warnings scroll-to-line-number-able (#1958) * Handle null compiler messages (#1959) * Add Diff searching (#1956) * Add Diff searching * reuse debounce * handle whitespace * Add Microsoft C Compiler 5.1 (#1962) * Remove /AM flag from msc5.1 (#1963) * Add IDO 5.2 and IDO 7.1 C++ (#1961) * Add ido4.1 * Update compilers.py * Add ido4.1 to compilers.linux.yaml * Add IDO 5.2 and IDO 7.1 C++ * PR review * Update compilers.linux.yaml * Update compilers.linux.yaml --------- Co-authored-by: LLONSIT <LLONSIT@users.noreply.github.com> * Tour (#1960) * Add scratch editor tour * Feedback part 1 * Start tour box at the top of the page * highlight diff columns * Finish tour on the Tour button * Disable tour on mobile * improved cta * more tweaks * yarn lint * final tweaks * Set memory range for wine when running ee-gcc3.2-030210-beta2 (#1965) * Add docs/COMPILER.md (#1964) * Add docs/COMPILER.md * Update README with link to COMPILER.md * Bump wibo to 1.1.1 (#1966) * Remove wine (#1968) * Remove ee-gcc3.2-030210-beta2 * Remove wine * Undo accidental changes * ruff * No longer require backend to be up in order to build frontend (#1930) * No longer require backend to be up in order to build frontend * ci * Publish build images to ghcr.io (#1970) * Don't create persistent profiles for HEAD/OPTIONS requests (#1971) * Don't create persistent profiles for HEAD/OPTIONS requests * ruff * Reduce chance of removing a false orphan (#1973) * Allow Ctrl+Shift + up/down for multi-line selection (#1972) * Allow Ctrl+Shift + up/down for multi-line selection * Add alt+drag to select multiple lines too * Blue green (#1974) * Add support for blue/green deployment * Tweak * Add healthz endpoints, update docs * 🤖 (chore): bump m2c / asm-differ to latest (#1975) Co-authored-by: GitHub Actions <actions@github.com> * 🤖 (chore): bump m2c / asm-differ to latest (#1978) Co-authored-by: GitHub Actions <actions@github.com> * Remove unused .reviewdog.yml (#1976) * Add gcc2.96 (#1979) * Add gcc2.96 * fixup: add i18n entry for gcc 2.96 * fixup: trailing comma makes the linter happy --------- Co-authored-by: sbird <sbird@no.tld> * Add search result count to codemirror (#1980) * Add indexes on scratch sort fields (#1982) * Reduce unnecessary calls to /compile (#1981) * Prevent unecessary /compile on initial scratch load * improve inflight compilation request handling * dont emit extra /compile when navigating between scratches * prevent unnecessary /compile when navigating between scratches part ii * simplify.. * Tweak deploy.py for migrate workflow (#1983) * Pass GIT_HASH to ci image builder (#1986) * 🤖 (chore): bump m2c / asm-differ to latest (#1985) Co-authored-by: GitHub Actions <actions@github.com> * Fix search bar alignment + coloring (#1987) * Reduce stale-while-revalidate to 5 mins (#1988) * Improve asm-differ/m2c version bump pr comment (#1989) * 🤖 (chore): bump m2c to latest (#1990) Co-authored-by: GitHub Actions <actions@github.com> * Cache docker build layer(s) (#1991) * Cache build layer attempt 2 (#1992) * Cache docker build layer(s) - attempt #2 * @v4 * 🤖 (chore): bump m2c to latest (#1993) Co-authored-by: GitHub Actions <actions@github.com> * Update link to preset issue template (#1995) * 🤖 (chore): bump m2c to latest (#2000) Co-authored-by: GitHub Actions <actions@github.com> * Improve scratch list skeletons 💀 (#1998) * Better scratch list skelingtons * add skelington for site stats too * Github link in FAQ page is invalid (#2001) * 🤖 (chore): bump m2c to latest (#2002) Co-authored-by: GitHub Actions <actions@github.com> * Bump nginx to 1.30.3 (#2003) * Take compiler from preset on scratch creation (#2004) * Mute a couple more clangd warnings (#2005) * Add Watcom C/C++ Compiler 10.0a (#2008) * Use era appropriate cpp for ps1 gcc (#2010) * No need to bust frontend docker cache if no frontend changes (#2011) * Use deploy.py in ci (#2016) * Use deploy.py in ci * add nginx healthcheck * add healthchecks to dev container too * debug * debug2 * nginx prod only listens ipv4 * restore sanity * Fix git hash in footer again (#2015) * Revert era-specific cpp for old ps1 GCCs (#2018) * 🤖 (chore): bump m2c to latest (#2020) Co-authored-by: GitHub Actions <actions@github.com> * Strip 0'd line directives for ps1 gcc (#2021) * Strip 0'd line directives for ps1 gcc * woops * Small notification when context/options differs from parent (#2022) * Reduce x padding on scratch list on mobile (#2024) * Capture yarn OOM failure and exit 137 not 0 (#2025) * Run 'npx update-browserslist-db@latest' (#2027) * Update url for libncurses package (#2026) * Initial plan * Polish merged cromper backend fixes * Initial plan * Use compilers metadata instead of backend shim endpoints * Fix platform page metadata lookup handling * Refactor shared compiler metadata lookups * Tighten compiler metadata hook semantics * Document compiler metadata and strengthen tests * Fix docker compose CI nginx config path * Fix prod nginx compose paths in CI * Fix cromper prod image dependency install * Fix cromper libtinfo5 install in prod image * Fix frontend compose CI and remove cromper Wine usage --------- Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com> Co-authored-by: Luke Street <luke@street.dev> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: GitHub Actions <actions@github.com> Co-authored-by: Karas <karas84@users.noreply.github.com> Co-authored-by: Sean Burke <leftmostcat@gmail.com> Co-authored-by: Seán de Búrca <sdeburca@fastmail.net> Co-authored-by: Mark Street <streetster@gmail.com> Co-authored-by: aloaf <toastedhuman12345@gmail.com> Co-authored-by: Mc-muffin <8714476+Mc-muffin@users.noreply.github.com> Co-authored-by: LLONSIT <76184758+LLONSIT@users.noreply.github.com> Co-authored-by: LLONSIT <LLONSIT@users.noreply.github.com> Co-authored-by: Mathieu Bourgon <54951088+MatBourgon@users.noreply.github.com> Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com> Co-authored-by: sbird <sbird@no.tld> Co-authored-by: Ed_IT <63556948+Ed-1T@users.noreply.github.com> Co-authored-by: Alex Page <anpage@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Adds backend boilerplate for GCC 2.96, depends on decompme/compilers#73 .
GCC 2.96 is a development snapshot between GCC 2.95 "agbcc" and GCC 3 which already has a unified thumb/arm compiler in one binary (
-mthumb,-marm).It was used in the game Golden Sun for the GBA.
If possible it would be nice to have a compiler flag preset for Golden Sun 1, it uses caller-save r4 to perform some arcane magic: