mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #3906 from DanielG/fix-fstGetUint32-mips64el
This commit is contained in:
commit
2f82e8eaed
|
@ -348,17 +348,17 @@ static void *fstMmap2(size_t __len, int __fd, fst_off_t __off)
|
||||||
#ifdef FST_DO_MISALIGNED_OPS
|
#ifdef FST_DO_MISALIGNED_OPS
|
||||||
#define fstGetUint32(x) (*(uint32_t *)(x))
|
#define fstGetUint32(x) (*(uint32_t *)(x))
|
||||||
#else
|
#else
|
||||||
static uint32_t fstGetUint32(unsigned char *mem)
|
static inline uint32_t fstGetUint32(unsigned char *mem)
|
||||||
{
|
{
|
||||||
uint32_t u32;
|
union {
|
||||||
unsigned char *buf = (unsigned char *)(&u32);
|
uint8_t u8[sizeof(uint32_t)];
|
||||||
|
uint32_t u32;
|
||||||
|
} u;
|
||||||
|
|
||||||
buf[0] = mem[0];
|
for (size_t i=0; i < sizeof(u.u8); i++)
|
||||||
buf[1] = mem[1];
|
u.u8[i] = mem[i];
|
||||||
buf[2] = mem[2];
|
|
||||||
buf[3] = mem[3];
|
|
||||||
|
|
||||||
return (*(uint32_t *)buf);
|
return u.u32;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue