ISSOtm
2220f19fa7
Fix use-after-free with include in linker scripts
...
Fixes #510 , and further proves that you *really* should not entrust memory
ownership management to humans :P
2020-04-13 02:36:19 +02:00
ISSOtm
023a3c037f
Properly handle missing symbols
...
Fixes #512
2020-04-12 22:52:32 +02:00
ISSOtm
828edb7403
Remove spurious error from div by zero test
2020-04-12 01:05:06 +02:00
ISSOtm
a034ce0478
Deprecate '*' for comments
2020-04-09 17:57:15 +02:00
Eldred Habert
d6cd5823e3
Merge pull request #508 from JL2210/mod-by-zero-fix-2
...
Fix modulo by zero
2020-04-09 14:52:12 +02:00
JL2210
5dd941b311
Fix modulo by zero
...
Yet another case caught by scan-build:
src/link/patch.c:188:21: warning: Division by zero
value = popRPN() % value;
~~~~~~~~~^~~~~~~
Just copy over the code from the division case, with a few modifications.
Signed-off-by: JL2210 <larrowe.semaj11@gmail.com >
2020-04-09 08:50:23 -04:00
ISSOtm
f9f27d6f5a
Clean up symbol system
...
Get rid of Hungarian notation
Improve encapsulation (the rest of the world should not touch PC directly)
2020-04-09 10:42:37 +02:00
Eldred Habert
5ea8490e2b
Merge pull request #507 from JL2210/null-pointer-fix-1
...
Fix possible null pointer dereference
2020-04-08 23:35:21 +02:00
JL2210
5863cd10b8
Fix possible null pointer dereference
...
It's possible that if the FILE passed to yy_create_buffer is at the
end-of file, there may be a null pointer dereference.
This should hopefully fix that.
Found with clang-tools' scan-build:
src/asm/lexer.c:281:25: warning: Array access (via field 'pBuffer')
results in a null pointer dereference
pBuffer->pBuffer[size] = 0;
~~~~~~~ ^
1 warning generated.
Signed-off-by: JL2210 <larrowe.semaj11@gmail.com >
2020-04-08 17:30:43 -04:00
ISSOtm
40f8e33e6c
Fix periods not being accepted as second char of label names
2020-04-08 15:14:07 +02:00
ISSOtm
0157ba63d3
Document whitespace before local labels
2020-04-08 15:08:29 +02:00
ISSOtm
9e3d8b22cb
Document new intra-section align
...
Also sneak in two code style fixes forgotten in last commit
2020-04-08 15:01:36 +02:00
ISSOtm
665412c073
Implement mid-section alignment directive
...
Fixes #254 .
2020-04-08 12:29:00 +02:00
ISSOtm
2b0c34ecb5
Fix a few code style errors
2020-04-08 00:44:41 +02:00
ISSOtm
b0ec8468e6
Allow specifying offset in addition to alignment
2020-04-08 00:40:41 +02:00
ISSOtm
e82ad21704
Use a single byte for alignment
2020-04-07 21:19:09 +02:00
ISSOtm
e098bf47ba
Allow references to be overridden by constant symbols
...
RGBLINK is capable of handling it now.
Though it'd be ideal for RGBASM to directly catch it.
Fixes #496 .
2020-04-07 20:57:20 +02:00
ISSOtm
190678107b
Prevent RGBLINK from crashing when getting the bank of a constant
2020-04-07 20:41:29 +02:00
ISSOtm
9f82fa4cf7
Fix BANK(@) outside sections causing crashes
2020-04-07 15:51:17 +02:00
Eldred Habert
562835308b
Merge pull request #504 from runlevel5/gcc10-fix
...
Fix multiple definitions for GCC10
2020-04-07 15:18:23 +02:00
ISSOtm
927c65e863
Fix incorrect PC in LOAD blocks at link time
2020-04-07 14:44:51 +02:00
ISSOtm
5b6c1569a4
Make failure to open file a fatal error
2020-04-07 11:36:44 +02:00
Trung Lê
65121e6d5d
Fix multiple definitions for GCC10
2020-04-07 14:48:30 +10:00
ISSOtm
82e0e4ffaf
Make some RGBLINK errors non-fatal
2020-04-06 00:48:10 +02:00
ISSOtm
ffb199a26a
Avoid Useless Use of backticks in rgblink testing
2020-04-06 00:44:59 +02:00
ISSOtm
175933d2b1
Remove old scripts for updating references for tests
...
I much rather prefer correcting everything by hand, and gauging
whether the change is good on a case by case basis
2020-04-06 00:41:37 +02:00
Eldred Habert
c86e6fef0a
Merge pull request #502 from JL2210/more-conventional-permissions
...
Use more conventional permissions and man-page directory
2020-04-06 00:25:33 +02:00
JL2210
1e3ce2a36f
Use more conventional permissions and man-page directory
...
As 444 and 555 seem to be used for no apparent reason, use the more
conventional 644 and 755.
/man is typically unused or a symlink to /share/man now, so just use
/share/man.
Signed-off-by: JL2210 <larrowe.semaj11@gmail.com >
2020-04-05 17:02:12 -04:00
ISSOtm
153915dc2f
Improve portability of new make dist
2020-04-04 14:48:15 +02:00
ISSOtm
ced38bc6ee
Add new Makefile target for release tarballs
2020-04-04 14:23:28 +02:00
ISSOtm
4e96cf9875
Release 0.4.0
v0.4.0
2020-04-03 12:11:50 +02:00
ISSOtm
80170eb6eb
Regenerate man page HTML renders
2020-04-03 12:03:59 +02:00
ISSOtm
bdad1499fe
Merge branch 'release'
2020-04-03 11:58:53 +02:00
Eldred Habert
1f5ca39559
Merge pull request #494 from ISSOtm/docs
...
Overhaul man pages
2020-04-03 11:56:41 +02:00
ISSOtm
5013b64f55
Update disassemblies to latest commits
2020-04-02 21:26:38 +02:00
ISSOtm
7eb73d766e
Make compilation optimized unless debugging
...
Note: I wanted to enable `-Og` on `develop`, but this generated warnings
(thus, errors) that aren't in `-O0`. Needs further investigation, but
annoyingly some of those are within `extern/` code, thus requiring
different flags, which AFAIK is only possible (sanely) with GNU Make.
2020-04-02 16:56:04 +02:00
ISSOtm
bcfeb49d6b
Allow labels to be passed to DEF
2020-04-02 16:54:41 +02:00
ISSOtm
702d9e0542
Fix wrong error function used in RGBGFX
2020-03-31 17:28:31 +02:00
ISSOtm
c0aff678e9
Improve arg-shift test
2020-03-29 12:34:13 +02:00
ISSOtm
a3d8836671
Prevent assertions outside sections from crashing
2020-03-29 12:18:24 +02:00
ISSOtm
db1eb8fbcb
Revert "Prevent RGBASM from outputting corrupted files"
...
This reverts commit 06fe27c516 .
According to Microsoft's documentation
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/tmpfile?view=vs-2019
`tmpfile` attempts to create the temporary file at the **root** folder
This seems to assume that the user has admin rights; might be a compat
thing, idk, but it breaks on people's computers.
(CI didn't catch it, annoyingly.)
Reverting to make RGBASM usable on most Windows computers.
(Sanely-configured ones, at least.)
Another solution to #446 needs to be figured out, yay...
2020-03-27 23:36:11 +01:00
ISSOtm
95f347dc6a
Evaluate assertions after placing sections
2020-03-27 20:00:29 +01:00
ISSOtm
6579120d9e
Simplify symbol-writing logic
2020-03-27 12:32:14 +01:00
ISSOtm
84cd9f2db9
Fix segfaults when using PC outside a section
2020-03-27 12:30:09 +01:00
ISSOtm
06fe27c516
Prevent RGBASM from outputting corrupted files
...
Properly fixes #451
2020-03-27 11:19:02 +01:00
ISSOtm
5039af6af1
Document new "unionized section" feature
2020-03-26 23:50:30 +01:00
ISSOtm
4df74d44ec
Improve opcode reference
2020-03-26 23:11:01 +01:00
ISSOtm
9113647d41
Fix incorrect macro used for x-ref
2020-03-26 23:11:01 +01:00
ISSOtm
26af2bff5e
Prevent text from bumping sides on mobile devices
2020-03-26 23:11:01 +01:00
ISSOtm
3c304f3acf
Override mandoc styling without modifying the stylesheet
2020-03-26 23:11:01 +01:00