shithub: riscv

Download patch

ref: f9096fcdfd46f5bf566e87107675bfd439771a44
parent: 7f8246fd97a12477f9dd21c68a3d81b4c4b46852
author: Jacob Moody <moody@posixcafe.org>
date: Fri Jan 27 23:43:10 EST 2023

6c: copy all of packed structs in OAS

code assumed struct was aligned to atleast LONG.
For packed structs we need to copy the reaminder as well.
Repro:

typedef struct {
	char	a;
	char	b;
	short	c;
	short	d;
	char	e;
	char	f;
	char	g;
	char	h;
} A;

void
main(int argc, char **argv)
{
	A a1, a2;

	a2.a = 1;
	a2.b = 2;
	a2.c = 3;
	a2.d = 4;
	a2.e = 5;
	a2.f = 6;
	a2.g = 7;
	a2.h = 8;

	a1 = a2;
	print("%d %d %d %d %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g, a1.h);
}