Commit Graph

  • 1fb9f90f0f Add -MT option Allows overriding the output file in dependencies, which also allows outputting those without also outputting the object file. This, again, mimicks GCC's option. ISSOtm 2019-09-10 03:02:53 +02:00
  • bfa8da78a6 Add -MP option Adds a phony target to every included file, mimicking gcc's ISSOtm 2019-09-10 02:04:45 +02:00
  • fb81733b2b Merge pull request #472 from ISSOtm/romx-tiny Eldred Habert 2020-01-26 14:48:32 +01:00
  • e7eac583da Merge pull request #477 from ISSOtm/sym_overhaul Eldred Habert 2020-01-26 14:30:47 +01:00
  • cd107855e7 Test new working label subtractions ISSOtm 2020-01-24 03:03:18 +01:00
  • ab9307ac61 Clean up symbol management Stop using that bitfield for everything, including what can be determined otherwise It also makes it easier to have a sane state, since some bits were (supposedly) mutually exclusive ISSOtm 2020-01-22 15:05:07 +01:00
  • e3ef194b4f Remove local label error checking This is actually not necessary, because RGBLINK would warn about missing labels. Besides, through semi-esoteric ways, it is possible to define more labels in this scope, and there's no reason to prevent that. ISSOtm 2020-01-22 10:44:44 +01:00
  • ab4ca9ad8c Make symbol ref in patch symbols constant ISSOtm 2020-01-21 15:06:18 +01:00
  • 3fb5648880 Actually rely on createsymbol never returning NULL This reduces complexity, basically ISSOtm 2020-01-21 11:37:30 +01:00
  • a7c0616cd8 Rename export type enum to that This prevents a conflict in the next commit ISSOtm 2020-01-21 10:54:16 +01:00
  • 51d5ff0567 Test subtracting labels ISSOtm 2020-01-24 02:50:24 +01:00
  • 0665146dcd Report line info on empty RPN stack ISSOtm 2020-01-21 03:12:43 +01:00
  • 1f8422575e Test that all-instructions does not error out ISSOtm 2020-01-21 03:05:22 +01:00
  • 61c381a62c Systemize RGBLINK testing ISSOtm 2020-01-21 03:01:58 +01:00
  • 56d5f1588a Do not run .pipe tests if the normal variant fails They'll most likely fail as well, just adding redundant error output ISSOtm 2020-01-21 00:27:28 +01:00
  • c05334dfc1 Upgrade testing to latest disasm commits ISSOtm 2020-01-20 14:39:55 +01:00
  • 09d6c7a54f Merge pull request #475 from ISSOtm/licensing Eldred Habert 2020-01-19 15:45:46 +01:00
  • 4fe44447a2 Add license headers where missing ISSOtm 2020-01-19 11:11:36 +01:00
  • 23c600eef5 Remove unnecessary gitignore file This became unnecessary when the linker script parser was rewritten ad-hoc ISSOtm 2020-01-19 11:02:47 +01:00
  • 50f091ab7c Fix RGBLINK failing to read args on certain machines char has implementation-defined signedness, and if it's chosen to be unsigned, then -1 gets converted to 255, which is then promoted back to int as... 255, always failing the loop condition in src/link/main.c:118 int8_t has the correct signedness, but considering musl_getopt_long_only returns int, better use that so as not to lose any bits ISSOtm 2020-01-18 22:12:25 +01:00
  • 7437f7eb85 Clarify redefinition error message ISSOtm 2020-01-17 03:53:27 +01:00
  • d6a99981d6 Fix checkcodebase warnings ISSOtm 2020-01-16 22:31:24 +01:00
  • 71fe652556 Allow ROMX and WRAMX sections in restricted modes Closes #462, although with this implementation BANK("some ROMX section") would return 0 instead of 1, which I think is benign anyways ISSOtm 2020-01-16 22:24:05 +01:00
  • 89917ef688 Put semicolons before labels in test suite ISSOtm 2020-01-16 22:08:11 +01:00
  • 097e4c9799 Merge pull request #468 from ISSOtm/include_stem Eldred Habert 2020-01-16 19:18:00 +01:00
  • 2c37a1e971 Fix default warning states They were in the wrong order for some reason, this especially caused user warnings to be off by default ISSOtm 2020-01-16 19:16:54 +01:00
  • 2c52364978 Add test for fixed section addresses ISSOtm 2020-01-16 18:12:42 +01:00
  • 10140f74dc Allow RGBLINK to report multiple sanity check errors ISSOtm 2020-01-16 18:10:35 +01:00
  • 558e8f46ff Sanity check fixed address of sections in RGBLINK This could otherwise cause segfaults while reporting errors (!) during placement ISSOtm 2020-01-16 12:37:54 +01:00
  • 9ccb71205a Remove stale clean line Those files don't exist in RGBLINK's source anymore ISSOtm 2020-01-14 11:42:07 +01:00
  • e50bcaa272 Enforce trailing slash in include paths Fixes rednex#456 ISSOtm 2020-01-13 16:21:13 +01:00
  • 86a28e8201 Provide string arguments to errors in constexpr_BankSection How the f did it work before ISSOtm 2020-01-13 15:12:55 +01:00
  • 95cd0c6e53 Add test for BANK() in constant context ISSOtm 2020-01-12 13:09:27 +01:00
  • 23ab245cec Return a consistent number for const BANK() when erroring out ISSOtm 2020-01-12 13:01:46 +01:00
  • eb82476591 Make bank of "bank 0" sections known to RGBASM This allows BANK("Some ROM0 section") to be used in a constant expression ISSOtm 2020-01-10 14:57:39 +01:00
  • f1f70d250a Add test for DEF(@) ISSOtm 2020-01-09 06:10:28 +01:00
  • 98a221d6b6 Add test for DEF(@) ISSOtm 2020-01-09 02:10:48 +01:00
  • fb22d12b0f Merge pull request #463 from ISSOtm/windows_test_suite Eldred Habert 2020-01-09 01:15:47 +01:00
  • 83249ed69f Cap the number of concurrent jobs for testing This has a serious tendency to just blow up process load (~35 here with the shim) ISSOtm 2020-01-08 23:26:29 +01:00
  • 1534df0b3c Use minGW's pkg-config ISSOtm 2019-10-30 12:18:16 +01:00
  • ece9177f5a Produce shims to run the test suite on Windows bins via Wine ISSOtm 2019-10-30 00:21:50 +01:00
  • 8a90d74340 Ignore line endings in test suite This removes many false positives with Windows ISSOtm 2019-10-30 00:14:56 +01:00
  • 5a06fad31e Separate stdout and stderr in tests POSIX leaves undefined the order of output if stderr is injected into stdout, and in practice it differs on Windows (Linux buffers both streams separately, Windows interleaves them as they arrive without buffering). This should help testing on other platforms ISSOtm 2020-01-08 16:46:57 +01:00
  • add07259f4 Merge pull request #465 from ISSOtm/rebuild_version Eldred Habert 2020-01-09 01:01:11 +01:00
  • 36ca18bc7b Merge pull request #466 from AntonioND/an/warning Eldred Habert 2020-01-09 00:46:47 +01:00
  • 6003be3fae Fix declaration of constexpr_BankSymbol() Antonio Niño Díaz 2020-01-08 23:33:42 +00:00
  • 6d9399e3a0 Always update version Implements https://github.com/rednex/rgbds/pull/378#issuecomment-569836686 ISSOtm 2020-01-09 00:27:22 +01:00
  • 676800476d Merge pull request #430 from ISSOtm/known_selfbank Eldred Habert 2020-01-08 18:56:28 +01:00
  • 4dfa3157e5 Merge pull request #454 from ISSOtm/unlocked_windows Eldred Habert 2020-01-08 13:14:13 +01:00
  • f26cfa2d94 Merge pull request #455 from ISSOtm/man Eldred Habert 2020-01-07 22:44:58 +01:00
  • d3328406a2 Improve jr out-of-reach error message ISSOtm 2020-01-02 14:06:40 +01:00
  • 3564b3f9ea Have jr offset wrap with 16 bits Overflow with int16_t is defined to two's complement so it's OK This could trigger when jumping from the top of ROM0 to HRAM ISSOtm 2020-01-02 14:03:54 +01:00
  • b81faeccfa Rename rgbfix long opt verbose to validate The previous name was probably copy-pasted, it was completely wrong ISSOtm 2019-12-29 17:41:19 +01:00
  • 1c4cb2cd2d Add warning option to RGBASM man synopsis ISSOtm 2019-12-29 17:38:46 +01:00
  • 6959b76749 Rework help/usage messages Trimmed down the option lists as per @bentley's request; Reinstated the man pages' synopsis ISSOtm 2019-12-29 17:38:08 +01:00
  • 8a1e920e23 Fix incorrect line counting when running REPT blocks. Fixes #461 ISSOtm 2019-12-12 23:46:10 +01:00
  • 606519c515 Touch up ds documentation as per rednex#350 ISSOtm 2019-12-08 04:05:56 +01:00
  • 34618e0294 Overhaul RGBDS man pages and help messages ISSOtm 2019-12-07 02:54:18 +01:00
  • 373762dedc Fix lack of newline when passing no files to RGBLINK ISSOtm 2019-12-10 18:35:40 +01:00
  • b30dfb166b Fix a line over 80 chars ISSOtm 2019-12-08 00:08:44 +01:00
  • 36db3257f3 Align fatalerror return code with every other one ISSOtm 2019-12-08 00:07:48 +01:00
  • cad23465a5 Remove flex from the list of dependencies in the README ISSOtm 2019-12-08 00:04:15 +01:00
  • d23401316e Improve pc-bank test ISSOtm 2019-12-07 23:43:55 +01:00
  • b49e025703 Allow BANK() in constexpr expressions ISSOtm 2019-12-07 23:43:02 +01:00
  • e4f4706508 Add tests for new "known self-bank" ISSOtm 2019-09-27 09:34:29 +02:00
  • 02fe73d1f3 Make BANK("Section") known at assembling time when possible If the target section is in the current file and its bank is known, this means this value is known prior to linking. ISSOtm 2019-09-19 15:06:48 +02:00
  • 74f43d4e09 Add a way to seek a SECTION by name without creating one ISSOtm 2019-09-08 23:40:16 +02:00
  • 54ed050ecf Make BANK(@) known at assembling time when possible If the current section's bank is fixed, this means this value is known prior to linking. ISSOtm 2019-09-08 22:28:28 +02:00
  • f262d3b34b Fix undefined behavior in readlong See the new comment for what caused the UB, and how it was fixed ISSOtm 2019-12-07 21:19:13 +01:00
  • 32f7860a4e Fix possible 0-length array in RGBLINK ISSOtm 2019-12-07 15:23:52 +01:00
  • b62832e94d Move empty entries warning to -Wextra Since the behavior actually kinda makes sense, it's better as extra. ISSOtm 2019-12-07 02:48:06 +01:00
  • e5820312d4 Document actual behavior of empty entries in db and co ISSOtm 2019-12-07 02:46:59 +01:00
  • f710f21ad8 Reorder warnings alphabetically ISSOtm 2019-12-06 00:56:18 +01:00
  • 90fefb468b Remove user warnings from -Wall It does not make sense to include it there, as it's enabled by default. ISSOtm 2019-12-06 00:45:45 +01:00
  • 21f4cafef5 Make -Werror= with a meta warning an error The previous behavior was to just enable the meta warning's warnings. This is an error now because it doesn't make sense to do that, does it? ISSOtm 2019-12-06 00:32:49 +01:00
  • b1d4be66e4 Remove deprecated "section charmap" feature ISSOtm 2019-12-04 01:56:06 +01:00
  • ef43ae0eea Add a verbose print each time a file is included ISSOtm 2019-12-04 01:55:01 +01:00
  • 9976a139de Update test repos to latest commits They work, and after an upcoming change the current ones are not going to anymore! ISSOtm 2019-12-04 01:54:16 +01:00
  • 5718354500 Get rid of joinexpr() This macro hid away the arguments to the underlying call, and served no purpose beyond saving the programmer some typing. This is 2019, people have IDEs (even Vim!) with autocompletion. ISSOtm 2019-12-04 00:21:57 +01:00
  • 2d7d9eef9f Fix some make checkcodebase errors - Reorder checkpatch ignore flags alphabetically - Fix checkpatch WARNINGs and CHECKs when they make sense - Add more checkpatch ignores ISSOtm 2019-12-04 00:16:28 +01:00
  • a290e19f46 Make make checkcodebase ignore extern/ That folder contains external code, and modifying it to conform to our code style would make applying upstream patches, amongst others, problematic. Therefore, skip checking it. Ideally, the folder should also be excluded from make checkpatch, but I haven't figured out a way to do that yet. ISSOtm 2019-12-03 23:09:07 +01:00
  • 92a2be62fe Remove lex rules from Makefile Since the RGBLINK rewrite, there have been no .l files in the whole codebase (RGBASM has the C file directly, for better and for worse) Since flex isn't used anymore, it's a good idea to remove it from the Makefile so people don't think it's a dependency. ISSOtm 2019-12-03 23:02:38 +01:00
  • 5410dba4f4 Do prevent using org in linker scripts to go backwards ISSOtm 2019-11-27 01:37:00 +01:00
  • d93ad2e650 Rename all functions imported from musl This is to avoid conflicting with libraries, which occurred in the mingw builds ISSOtm 2019-11-23 23:07:39 +01:00
  • 68410d35d3 Get rid of unlocked_stdio functions Those did not provide a significant speedup, and are not provided by mingw ISSOtm 2019-11-23 23:00:44 +01:00
  • ceae4a44f3 Stop using f(un)?lockfile Those are only useful for locking file IO across threads, but RGBLINK is single-threaded anyways, so they don't matter. Plus, they aren't provided by mingw, so that'll remove part of the problem ISSOtm 2019-11-23 22:21:11 +01:00
  • ea003487aa Use trap_ instead of abort() for consistency ISSOtm 2019-11-23 21:59:36 +01:00
  • 401fd8b56b Merge pull request #452 from ISSOtm/warn Eldred Habert 2019-11-18 20:58:21 +01:00
  • 191ee4ba1f Add support for toggleable warnings ISSOtm 2019-11-18 09:23:32 +01:00
  • 58556f91f7 Disable chcecking for global initialisers This is specific to the kernel and does not apply to us ISSOtm 2019-11-18 12:45:38 +01:00
  • faa7893761 Fix develop error in getopt_long_only The error was due to casting const away for permuting argv elements, which is necessary for a libc for compatibility with older systems, but not for us. ISSOtm 2019-11-09 00:47:45 +01:00
  • 648df0dc7d Merge pull request #449 from ISSOtm/better_error_msg Eldred Habert 2019-11-06 09:00:11 +01:00
  • 44173dbe8b Improve error messages slightly ISSOtm 2019-11-06 08:48:24 +01:00
  • 7233f568a7 Report overlapping sections whenever possible ISSOtm 2019-11-04 03:24:19 +01:00
  • 197f1e9b7b Merge pull request #444 from ISSOtm/fix_develop Eldred Habert 2019-11-06 08:34:37 +01:00
  • 7063f66b2d Merge pull request #450 from ISSOtm/labels_in_sections Eldred Habert 2019-11-06 08:33:25 +01:00
  • 6e59bcb60e Merge pull request #447 from ISSOtm/long_opts Eldred Habert 2019-11-06 02:34:26 +01:00
  • 0649e6d65f Add long options ISSOtm 2019-11-03 22:11:04 +01:00
  • 072c965ba5 Add musl's implementation of getopt_long_only ISSOtm 2019-11-06 00:40:55 +01:00
  • 122f5fe12e Prevent creating labels outside of sections This doesn't make sense, and causes RGBLINK to misbehave ISSOtm 2019-11-04 03:34:18 +01:00