summaryrefslogtreecommitdiff
path: root/sys/src/cmd/6l
AgeCommit message (Collapse)Author
2017-11-196l: fix typo in optab table for APSLLQ (0x7e -> 0x73)cinap_lenrek
2017-06-198l, 6l: get .frame offset right undoing $-4 hackcinap_lenrek
2017-06-116l: support MOV to/from DR[1-3]aiju
2017-03-195l,6l,8l,kl,ql,vl: allow duplicate GLOBAL symbols (from Ori Bernstein)cinap_lenrek
The plan 9 assemblers support the DUPOK flag on text symbols. They parse and ignore it on GLOBL symbols. This patch makes it work in the linkers. The reason I ran into this is because my programming language (Myrddin) uses data symbols to generate type information, and it's useful to avoid duplicating all of the type info in every file that gets generated.
2015-08-166l: fix vlong byte order when running on big endian machine (thanks erik ↵cinap_lenrek
quanstro)
2015-02-176l: no need to emit rex.w prefix for MOVBQZX and MOVWQZXcinap_lenrek
as with 32 bit operand size, the upper bits 63:32 are automatically zeroed in 64bit mode. this gives a shoter instruction encoding.
2015-02-17[125678kqv][cl]: fix sprint() and strcpy() buffer overflowscinap_lenrek
2014-05-306a, 6c, 6l: fix copy propagationAram Hăvărneanu
Without an explicit signal for a truncation, copy propagation will sometimes propagate a 32-bit truncation and end up overwriting uses of the original 64-bit value. This was independently discovered and fixed in Go. See: http://golang.org/issue/1315 https://codereview.appspot.com/6002043/ Thanks Charles Forsyth for tips and advice.
2014-02-016l: fix warning, setmalloctag declaration, missing header type casescinap_lenrek
2013-02-016l: eleminate NOP X0 instructions (from eriks 6l-nop-x0 patch)cinap_lenrek
erik found that -N left NOPs in that 6l couldn't ignore. add Xn to the NOP table. bonanza; cat > fp.c #include <u.h> #include <libc.h> #include <stdio.h> void main(void) { double g; g = -0.; print("%g\n", g); printf("%g\n", g); exits(""); } bonanza; 6c -N -FVTw fp.c bonanza; 6l -o 6.fp fp.6 main: doasm: notfound from=6f to=34 (939) NOP ,X0 main: doasm: notfound from=6f to=34 (939) NOP ,X0 main: doasm: notfound from=6f to=34 (939) NOP ,X0
2012-12-106l: fix wrong opcode for MOVLQZX (import from sources)cinap_lenrek
2012-09-186c: extern register fix (import from patch/6c-extreg)cinap_lenrek
to make it easy to use normal libraries (such as libdraw, libsec, and libmp) with the kernel, which uses extern register, don't stray into the external register set when allocating values to registers.
2012-07-30import updated compilers from sourcescinap_lenrek