mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 00:02:28 +00:00
Fix warnings
This change fixes Cosmopolitan so it has fewer opinions about compiler warnings. The whole repository had to be cleaned up to be buildable in -Werror -Wall mode. This lets us benefit from things like strict const checking. Some actual bugs might have been caught too.
This commit is contained in:
parent
e2b3c3618e
commit
0d748ad58e
571 changed files with 1306 additions and 1888 deletions
|
@ -30,14 +30,13 @@
|
|||
char testlib_enable_tmp_setup_teardown;
|
||||
|
||||
TEST(daemon, test) {
|
||||
int dirfd;
|
||||
char buf[512];
|
||||
SPAWN(fork);
|
||||
ASSERT_SYS(0, 3, open(".", O_RDONLY | O_DIRECTORY));
|
||||
ASSERT_SYS(0, 0, daemon(false, false));
|
||||
ASSERT_SYS(0, 4, openat(3, "ok", O_WRONLY | O_CREAT | O_TRUNC, 0644));
|
||||
ASSERT_NE(NULL, getcwd(buf, sizeof(buf)));
|
||||
ASSERT_SYS(0, 0, write(4, buf, strlen(buf)));
|
||||
ASSERT_SYS(0, 1, write(4, buf, strlen(buf)));
|
||||
ASSERT_SYS(0, 0, close(4));
|
||||
ASSERT_SYS(0, 0, close(3));
|
||||
EXITS(0);
|
||||
|
|
|
@ -135,7 +135,6 @@ TEST(fork, childToChild) {
|
|||
}
|
||||
|
||||
TEST(fork, preservesTlsMemory) {
|
||||
int pid;
|
||||
__get_tls()->tib_errno = 31337;
|
||||
SPAWN(fork);
|
||||
ASSERT_EQ(31337, __get_tls()->tib_errno);
|
||||
|
|
|
@ -354,8 +354,8 @@ TEST(mmap, cow) {
|
|||
|
||||
TEST(mmap, cowFileMapReadonlyFork) {
|
||||
char *p;
|
||||
int fd, pid, ws;
|
||||
char path[PATH_MAX], lol[6];
|
||||
int fd, ws;
|
||||
char path[PATH_MAX];
|
||||
sprintf(path, "%s.%ld", program_invocation_short_name, lemur64());
|
||||
ASSERT_NE(-1, (fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0644)));
|
||||
EXPECT_EQ(6, write(fd, "hello", 6));
|
||||
|
@ -380,7 +380,7 @@ TEST(mmap, cowFileMapReadonlyFork) {
|
|||
|
||||
TEST(mmap, cowFileMapFork) {
|
||||
char *p;
|
||||
int fd, pid, ws;
|
||||
int fd, ws;
|
||||
char path[PATH_MAX], lol[6];
|
||||
sprintf(path, "%s.%ld", program_invocation_short_name, lemur64());
|
||||
ASSERT_NE(-1, (fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0644)));
|
||||
|
@ -409,8 +409,8 @@ TEST(mmap, cowFileMapFork) {
|
|||
// SHARED ANONYMOUS MEMORY BETWEEN PROCESSES
|
||||
|
||||
TEST(mmap, sharedAnonMapFork) {
|
||||
int ws;
|
||||
char *p;
|
||||
int pid, ws;
|
||||
EXPECT_NE(MAP_FAILED, (p = mmap(NULL, 6, PROT_READ | PROT_WRITE,
|
||||
MAP_SHARED | MAP_ANONYMOUS, -1, 0)));
|
||||
strcpy(p, "parnt");
|
||||
|
@ -432,7 +432,7 @@ TEST(mmap, sharedAnonMapFork) {
|
|||
|
||||
TEST(mmap, sharedFileMapFork) {
|
||||
char *p;
|
||||
int fd, pid, ws;
|
||||
int fd, ws;
|
||||
char path[PATH_MAX], lol[6];
|
||||
sprintf(path, "%s.%ld", program_invocation_short_name, lemur64());
|
||||
ASSERT_NE(-1, (fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0644)));
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "libc/dce.h"
|
||||
#include "libc/errno.h"
|
||||
#include "libc/fmt/fmt.h"
|
||||
#include "libc/intrin/describeflags.internal.h"
|
||||
#include "libc/log/log.h"
|
||||
#include "libc/mem/gc.internal.h"
|
||||
#include "libc/mem/mem.h"
|
||||
|
@ -85,7 +86,7 @@ void OnSigBus(int sig, struct siginfo *si, void *vctx) {
|
|||
kprintf("si->si_signo = %G%n", si->si_signo);
|
||||
kprintf("si->si_errno = %s (%d)%n", _strerrno(si->si_errno),
|
||||
si->si_errno);
|
||||
kprintf("si->si_code = %s (%d)%n", GetSiCodeName(sig, si->si_code),
|
||||
kprintf("si->si_code = %s (%d)%n", DescribeSiCode(sig, si->si_code),
|
||||
si->si_code);
|
||||
kprintf("┌si->si_addr = %p%n", si->si_addr);
|
||||
kprintf("┼─────────────────%n");
|
||||
|
@ -133,14 +134,15 @@ TEST(mprotect, testSegfault_writeToReadOnlyAnonymous) {
|
|||
p[0] = 1;
|
||||
EXPECT_FALSE(gotsegv);
|
||||
EXPECT_FALSE(gotbusted);
|
||||
EXPECT_NE(-1, mprotect(p, getauxval(AT_PAGESZ), PROT_READ));
|
||||
EXPECT_NE(-1, mprotect((void *)p, getauxval(AT_PAGESZ), PROT_READ));
|
||||
__expropriate(p[0]);
|
||||
EXPECT_FALSE(gotsegv);
|
||||
EXPECT_FALSE(gotbusted);
|
||||
p[0] = 2;
|
||||
EXPECT_TRUE(gotsegv | gotbusted);
|
||||
EXPECT_EQ(1, p[0]);
|
||||
EXPECT_NE(-1, mprotect(p, getauxval(AT_PAGESZ), PROT_READ | PROT_WRITE));
|
||||
EXPECT_NE(-1,
|
||||
mprotect((void *)p, getauxval(AT_PAGESZ), PROT_READ | PROT_WRITE));
|
||||
}
|
||||
|
||||
TEST(mprotect, testExecOnly_canExecute) {
|
||||
|
@ -161,10 +163,11 @@ TEST(mprotect, testExecOnly_canExecute) {
|
|||
TEST(mprotect, testProtNone_cantEvenRead) {
|
||||
volatile char *p;
|
||||
p = gc(memalign(getauxval(AT_PAGESZ), getauxval(AT_PAGESZ)));
|
||||
EXPECT_NE(-1, mprotect(p, getauxval(AT_PAGESZ), PROT_NONE));
|
||||
EXPECT_NE(-1, mprotect((void *)p, getauxval(AT_PAGESZ), PROT_NONE));
|
||||
__expropriate(p[0]);
|
||||
EXPECT_TRUE(gotsegv | gotbusted);
|
||||
EXPECT_NE(-1, mprotect(p, getauxval(AT_PAGESZ), PROT_READ | PROT_WRITE));
|
||||
EXPECT_NE(-1,
|
||||
mprotect((void *)p, getauxval(AT_PAGESZ), PROT_READ | PROT_WRITE));
|
||||
}
|
||||
|
||||
TEST(mprotect, testExecJit_actuallyWorks) {
|
||||
|
@ -223,13 +226,13 @@ TEST(mprotect, testFileMap_canChangeToExecWhileOpenInRdwrMode) {
|
|||
|
||||
TEST(mprotect, testBadProt_failsEinval) {
|
||||
volatile char *p = gc(memalign(getauxval(AT_PAGESZ), getauxval(AT_PAGESZ)));
|
||||
EXPECT_EQ(-1, mprotect(p, 9999, -1));
|
||||
EXPECT_EQ(-1, mprotect((void *)p, 9999, -1));
|
||||
EXPECT_EQ(EINVAL, errno);
|
||||
}
|
||||
|
||||
TEST(mprotect, testZeroSize_doesNothing) {
|
||||
volatile char *p = gc(memalign(getauxval(AT_PAGESZ), getauxval(AT_PAGESZ)));
|
||||
EXPECT_NE(-1, mprotect(p, 0, PROT_READ));
|
||||
EXPECT_NE(-1, mprotect((void *)p, 0, PROT_READ));
|
||||
p[0] = 1;
|
||||
EXPECT_FALSE(gotsegv);
|
||||
EXPECT_FALSE(gotbusted);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue