kat
for (i = 0; i < arraycount(kat); i++) {
kat[i].personalization->hv_base,
kat[i].personalization->hv_len);
CHECK(i, "C", D->C, kat[i].C, SEEDLEN_BYTES);
CHECK(i, "V[0]", D->V, kat[i].V[0], SEEDLEN_BYTES);
if (kat[i].reseed) {
kat[i].additional[0]->hv_base,
kat[i].additional[0]->hv_len);
kat[i].reseed ? 0 : kat[i].additional[0]->hv_base,
kat[i].reseed ? 0 : kat[i].additional[0]->hv_len);
CHECK(i, "V[1]", D->V, kat[i].V[1], SEEDLEN_BYTES);
ASSERT(sizeof(kat[i].rnd_val[0]) - trunc <=
check(i, "rnd_val[0]", rnd_val, kat[i].rnd_val[0],
sizeof(kat[i].rnd_val[0]) - trunc);
if (kat[i].reseed) {
kat[i].additional[1]->hv_base,
kat[i].additional[1]->hv_len);
kat[i].reseed ? 0 : kat[i].additional[1]->hv_base,
kat[i].reseed ? 0 : kat[i].additional[1]->hv_len);
CHECK(i, "V[2]", D->V, kat[i].V[2], SEEDLEN_BYTES);
ASSERT(sizeof(kat[i].rnd_val[1]) - trunc <=
check(i, "rnd_val[1]", rnd_val, kat[i].rnd_val[1],
sizeof(kat[i].rnd_val[1]) - trunc);
} kat[] = {
for (i = 0; i < __arraycount(kat); i++) {
unsigned long long h = _rtld_sysv_hash(kat[i].in);
ATF_CHECK_EQ_MSG(h, kat[i].out,
i, kat[i].in, h, kat[i].out);
static const struct kat kat[] = {
for (i = 0; i < __arraycount(kat); i++) {
unsigned long long h = sysv_broken_hash(kat[i].in);
ATF_CHECK_EQ_MSG(h, kat[i].out,
i, kat[i].in, h, kat[i].out);
static const struct kat kat[] = {
for (i = 0; i < __arraycount(kat); i++) {
unsigned long long h = _rtld_gnu_hash(kat[i].in);
ATF_CHECK_EQ_MSG(h, kat[i].out,
i, kat[i].in, h, kat[i].out);
static const struct kat kat[] = {