GCC 10 is unhappy about this, and we already use 64k buffers
in the only places where packets are allocated, so move the
64k size into the packet definition.
Reported-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Tim Deegan <tim@xen.org>
Acked-by: Wei Liu <wl@xen.org>
Release-acked-by: Paul Durrant <paul@xen.org>
/* State of the debugger stub */
typedef struct {
union {
- uint8_t txb[sizeof (kdd_hdr) + 65536]; /* Marshalling area for tx */
+ uint8_t txb[sizeof (kdd_hdr)]; /* Marshalling area for tx */
kdd_pkt txp; /* Also readable as a packet structure */
};
union {
- uint8_t rxb[sizeof (kdd_hdr) + 65536]; /* Marshalling area for rx */
+ uint8_t rxb[sizeof (kdd_hdr)]; /* Marshalling area for rx */
kdd_pkt rxp; /* Also readable as a packet structure */
};
unsigned int cur; /* Offset into rx where we'll put the next byte */
uint16_t len; /* Payload length, excl. header and trailing byte */
uint32_t id; /* Echoed in responses */
uint32_t sum; /* Unsigned sum of all payload bytes */
- uint8_t payload[0];
} PACKED kdd_hdr;
#define KDD_PKT_CMD 0x0002 /* Debugger commands (and replies to them) */
kdd_msg msg;
kdd_reg reg;
kdd_stc stc;
- uint8_t payload[0];
+ uint8_t payload[65536];
};
} PACKED kdd_pkt;