Module: Mesa
Branch: master
Commit: 4080f8bf2b02441f637bc3f0c00c96060e2f02f0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4080f8bf2b02441f637bc3f0c00c96060e2f02f0

Author: Eric Anholt <[email protected]>
Date:   Fri Jul 17 10:48:56 2020 -0700

freedreno/a2xx: Fix compiler warning in disasm.

warning: converting a packed ‘instr_cf_t’ {aka ‘union <anonymous>’}
pointer (alignment 1) to a ‘uint16_t’ {aka ‘short unsigned int’} pointer
(alignment 2) may result in an unaligned pointer value
[-Waddress-of-packed-member]

We may know that we'll only ever have aligned instr_cf_ts, but gcc
doesn't.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5955>

---

 src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c 
b/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c
index 6f5028c3fb6..b5647307038 100644
--- a/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c
+++ b/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c
@@ -576,7 +576,8 @@ static void print_cf(instr_cf_t *cf, int level)
 {
        printf("%s", levels[level]);
        if (debug & PRINT_RAW) {
-               uint16_t *words = (uint16_t *)cf;
+               uint16_t words[3];
+               memcpy(&words, cf, sizeof(words));
                printf("    %04x %04x %04x            \t",
                                words[0], words[1], words[2]);
        }

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to