summaryrefslogtreecommitdiff
path: root/LibC
AgeCommit message (Collapse)Author
2019-04-29LibC: Oops, exit_thread() never returns.Andreas Kling
2019-04-29Kernel+LibC: Add exit_thread() syscall.Andreas Kling
2019-04-29Toolchain: The toolchain script is now working 🎉VAN BOSSUYT Nicolas
2019-04-29Toolchain: Useit.sh finish and added an install target for the libc's ↵VAN BOSSUYT Nicolas
Makefile and a bit of ground work for a gcc port
2019-04-27LibC: Make the malloc()/free() scrubbing runtime optional (default on.)Andreas Kling
Memory returned by malloc() is normally memset with 0x85. Memory passed to free() is normally memset with 0x82. These behaviors can now be disabled by setting one or both of LIBC_NOSCRUB_MALLOC and LIBC_NOSCRUB_FREE in your environment. :^)
2019-04-27LibC: Add dummy pthread.h for GCC build.Andreas Kling
2019-04-27LibC: Make fwrite() buffered.Andreas Kling
This is a really naive implementation that makes fwrite() call fputc() internally, but it still performs a lot better due to avoiding the write() syscall every time.
2019-04-27LibC: Various stdio correctness fixes.Andreas Kling
2019-04-26LibC: Add execvpe() and make execvp()'ed children inherit environment.Andreas Kling
2019-04-26LibC: Update stdio stream error state in more places.Andreas Kling
2019-04-23Put assertions behind a DEBUG flag to make it easy to build without them.Andreas Kling
2019-04-23Do a pass of compiler warning fixes.Andreas Kling
This is really making me question not using 64-bit integers more.
2019-04-22Kernel: Add a systrace() syscall and implement /bin/strace using it.Andreas Kling
Calling systrace(pid) gives you a file descriptor with a stream of the syscalls made by a peer process. The process must be owned by the same UID who calls systrace(). :^)
2019-04-22LibC: Return a default locale from localeconv(). (For GCC 8.3.0)Andreas Kling
2019-04-22LibC: Add sched_yield(), needed for GCC 8.3.0 build.Andreas Kling
2019-04-21Include Makefile.common in all other Makefiles.Andreas Kling
2019-04-21LibC: Minor compat tweak, move struct timezone to sys/time.hAndreas Kling
2019-04-20Kernel: Remove "restorer" field from SignalActionData.Andreas Kling
I was originally implementing signals by looking at some man page about sigaction() to see how it works. It seems like the restorer thingy is system-specific and not required by POSIX, so let's get rid of it.
2019-04-20Sprinkle use of AK::Vector in various places.Andreas Kling
Some of these are less helpful than others. Avoiding a bunch of mallocs in the event loop wakeup code is definitely nice.
2019-04-20LibC: Get rid of the now-unneeded AK/kmalloc.cppAndreas Kling
2019-04-20Get rid of SERENITY macro since the compiler already defines __serenity__Andreas Kling
This makes it a bit easier to use AK templates out-of-tree.
2019-04-18LibC: stddbg should be opened with O_CLOEXEC.Andreas Kling
2019-04-18Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9.Andreas Kling
This is then used to implement the userspace dbgprintf() in a far more efficient way than what we had before. :^)
2019-04-17LibC: Bring the C library close enough to newlib to trick GCC.Andreas Kling
Now we can build GCC with --with-newlib, which hopefully cuts down on weird toolchain build issues.
2019-04-16AK: Try to use StringViews more for substrings and splitting.Andreas Kling
2019-04-09Kernel: More work towards POSIX SHM, also add ftruncate().Andreas Kling
2019-04-08Kernel+LibC: Add stubs for POSIX shared memory API.Andreas Kling
Specifically shm_open() and shm_unlink(). This patch just adds stubs.
2019-04-07Kernel+Userland: Add the rename() syscall along with a basic /bin/mv.Andreas Kling
2019-04-05AK: Fix problem when building i686-pc-serenity toolchain from scratch.Andreas Kling
2019-04-05LibC: Add some missing stuff in stdint.h for libstdc++.Andreas Kling
2019-04-04Taskbar: More bringup work. We now see a basic window list.Andreas Kling
2019-04-03Font: Clean up AK::MappedFile and use it for mapping font files.Andreas Kling
2019-04-02Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace.Andreas Kling
2019-03-30Stopwatch: Print the result in decimal instead of hexadecimal.Andreas Kling
2019-03-27Kernel: Add Inode::truncate(size).Andreas Kling
- Use this to implement the O_TRUNC open flag. - Fix creat() to pass O_CREAT | O_TRUNC | O_WRONLY. - Make sure we truncate wherever appropriate.
2019-03-27LibC: Let's remember that headers are in C.Andreas Kling
2019-03-27LibC: Run constructors on process startup.Andreas Kling
Cooperate with the compiler to generate and execute the _init_array list of constructor functions on userspace program statup. This took two days to get working, my goodness. :^)
2019-03-27LibC: Fix fread() EOF behavior with ungetc().Andreas Kling
2019-03-27LibC: Remove the validate_mallocation() stuff since Binutils hates it.Andreas Kling
2019-03-27LibC: Implement atexit() and strtoul().Andreas Kling
2019-03-27LibC: Add ungetc() and automatically flush streams on fclose().Andreas Kling
2019-03-27LibC: Add creat(), execvp() resolution, and exec*() environment inheritance.Andreas Kling
2019-03-27LibC: Time-related POSIX compliance fixes.Andreas Kling
2019-03-26LibC: fread() should return the number of elements (not bytes) read.Andreas Kling
2019-03-25LibGUI+Kernel: Add a GLock class (userspace mutex.)Andreas Kling
It's basically a userspace port of the kernel's Lock class. Added gettid() and donate() syscalls to support the timeslice donation feature we already enjoyed in the kernel.
2019-03-24LibC: Add ftruncate() stub.Andreas Kling
2019-03-23Kernel+LibC: Add a simple create_thread() syscall.Andreas Kling
It takes two parameters, a function pointer for the entry function, and a void* argument to be passed to that function on the new thread.
2019-03-21Use 64-bit integers inside Stopwatch to enable longer timings.Andreas Kling
2019-03-21LibC: Add PAGE_SIZE to limits.hAndreas Kling
2019-03-21LibC: malloc() should use mmap() directly for allocations >= PAGE_SIZE.Andreas Kling
This is a solid speedup on PNG loading, and basically everything else. Once again I find a way to defer writing a better allocator for now. :^)