diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c31659b9dd..0dbfe1760e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ jobs: build-mlibc: strategy: matrix: - arch: [x86_64, riscv64, aarch64] + arch: [x86_64, riscv64, aarch64, x86] builds: [mlibc, mlibc-static, mlibc-shared, mlibc-ansi-only, mlibc-headers-only] name: Build mlibc runs-on: ubuntu-22.04 diff --git a/ci/linux-x86.cross-file b/ci/linux-x86.cross-file new file mode 100644 index 0000000000..edad98556a --- /dev/null +++ b/ci/linux-x86.cross-file @@ -0,0 +1,10 @@ +[binaries] +c = 'i686-linux-mlibc-gcc' +cpp = 'i686-linux-mlibc-g++' +exe_wrapper = 'qemu-i386' + +[host_machine] +system = 'linux' +cpu_family = 'x86' +cpu = 'i386' +endian = 'little' diff --git a/options/posix/include/unistd.h b/options/posix/include/unistd.h index 26f407d8f5..4cc750763a 100644 --- a/options/posix/include/unistd.h +++ b/options/posix/include/unistd.h @@ -305,7 +305,11 @@ extern int optopt; #endif /* !__MLIBC_ABI_ONLY */ // Non-POSIX functions supported by Linux. -typedef unsigned useconds_t; +#if UINTPTR_MAX == UINT64_MAX +typedef __mlibc_uint64 useconds_t; +#else +typedef __mlibc_uint32 useconds_t; +#endif #ifndef __MLIBC_ABI_ONLY