Florian Fischer
dea54c7dae
libc: prevent execvpe to search for files containing '/'
...
The current implementation always searches for the file in PATH
if it is not an absolute path.
This prevents executing relative paths like ./executable.
As specified by exec(3) the p-family of exec functions only search if
the filename does not contain slash '/' characters.
2024-02-14 11:37:06 +01:00
Enrico Fraccaroli (Galfurian)
30e01ba560
Update version
2024-01-17 13:49:48 +01:00
Enrico Fraccaroli (Galfurian)
eca55dfed8
Clean up cmake files (Part 2)
...
I've kept just one cmake project, in the root directory. The
subdirectories just set up the targets.
The asm compiler is serached just one time, from the root
directory cmake file.
Global compilation flags are set in the root cmake file, and
each subdirectory cmake file sets specific flags if necessary
(e.g., programs need the -u_start specified)
2024-01-17 13:34:32 +01:00
Enrico Fraccaroli
34eeedcbcf
Improve the generation of programs and tests.
2024-01-15 11:26:20 +01:00
Enrico Fraccaroli
5ce583fdd8
Rollback patch for archive creation that broke clang compilation
2024-01-15 11:14:34 +01:00
Florian Fischer
6f4d3b57f9
libc: fix waitpid not detecting process termination
...
Since 452aa40770 and the change to
properly return processes exit codes in the status argument, the
status will never be EXIT_ZOMBIE(16) except a process was terminated by
signal(16).
Return from waitpid if either an error occurred (__res < 0) or
we got the status of a child process (__res == cpid).
Additionally fix the weird alignment of the closing braces.
2024-01-13 14:31:00 +01:00
Enrico Fraccaroli (Galfurian)
327e29791e
Use gcc@11 under MacOS
2023-11-30 11:47:15 -05:00
Enrico Fraccaroli (Galfurian)
4292149567
Use x86_64-elf-gcc under MacOS
2023-11-29 10:45:27 -05:00
Enrico Fraccaroli (Galfurian)
030c16d29e
Use x86_64-elf-gcc under MacOS
2023-11-29 10:40:27 -05:00
Enrico Fraccaroli (Galfurian)
29e9d2ff11
Use x86_64-elf-gcc under MacOS
2023-11-29 10:38:44 -05:00
Enrico Fraccaroli (Galfurian)
24b2182bec
Use x86_64-elf-gcc under MacOS
2023-11-29 10:37:47 -05:00
Enrico Fraccaroli (Galfurian)
654a3165c0
Use x86_64-elf-gcc under MacOS
2023-11-29 10:34:42 -05:00
Enrico Fraccaroli (Galfurian)
7ce609fddc
Fix compilation with clang 15.0.7
2023-11-28 10:10:28 -05:00
Enrico Fraccaroli (Galfurian)
f066dd2ad9
Add support for reading symlinks
2023-11-21 14:20:41 -05:00
Enrico Fraccaroli (Galfurian)
1197797ee1
Add symlink function (not yet implemented in ext2)
2023-09-01 11:17:40 -04:00
Enrico Fraccaroli (Galfurian)
45f75bd00d
Add readme to the list of compiled files.
2023-08-30 15:39:23 -04:00
Enrico Fraccaroli (Galfurian)
163e83009d
Make tokenize work with a const char pointer.
2023-08-30 15:38:52 -04:00
Enrico Fraccaroli (Galfurian)
ecf5907f83
Transform readline into a globally accessible function.
2023-08-30 15:38:24 -04:00
Enrico Fraccaroli (Galfurian)
78c1ff4bd4
Minor improvements to the string-related functions.
2023-08-30 11:51:25 -04:00
Enrico Fraccaroli (Galfurian)
d50d997d6e
Wrap single line statements inside braces.
2023-08-24 12:17:16 -04:00
Enrico Fraccaroli (Galfurian)
dde6e6bc9e
First rough implementation of shared memory.
2023-08-16 11:49:52 -04:00
Enrico Fraccaroli (Galfurian)
20091b196f
Start working on shared memory
2023-08-11 13:39:18 -04:00
Enrico Fraccaroli (Galfurian)
55b5eb8cee
Fix format, and dela with type casting.
2023-08-11 13:04:34 -04:00
Enrico Fraccaroli (Galfurian)
24ebe9647c
Minor format changes.
2023-08-11 11:37:30 -04:00
Enrico Fraccaroli (Galfurian)
16b905625d
Turn port-io into header-only.
2023-07-12 14:26:52 -04:00
Enrico Fraccaroli (Galfurian)
707c0e408b
Improve dec_to_binary function
2023-07-12 14:26:14 -04:00
Enrico Fraccaroli (Galfurian)
28276bf565
Add macro to compute number of elements inside an array.
2023-07-01 16:06:34 -04:00
Enrico Fraccaroli (Galfurian)
3ed59b6f55
Add function to count element in arrays.
2023-06-29 15:48:56 -04:00
Enrico Fraccaroli (Galfurian)
86e046d080
Minor naming changes inside port_io
2023-06-29 13:00:15 -04:00
Enrico Fraccaroli (Galfurian)
b7c82d7333
Rewrite realpath without memory allocation.
2023-06-23 15:02:17 -04:00
Enrico Fraccaroli (Galfurian)
7972ddeac7
- Add missing comments;
...
- Reimplement a more safer dirname;
- Implement a simple and safe tokenize function;
2023-06-23 14:37:24 -04:00
Enrico Fraccaroli (Galfurian)
ef6ef96576
Standardize the way we generate random numbers.
2023-06-22 15:42:00 -04:00
Enrico Fraccaroli (Galfurian)
a872442aa3
Finish reworking the heap.
2023-06-19 17:44:27 -04:00
Enrico Fraccaroli (Galfurian)
eb74fae1fd
Add round_up math function. Add toggle_bit function. Minor clean up of the kheap code.
2023-06-16 10:18:22 -04:00
Enrico Fraccaroli (Galfurian)
e23c434cc6
Add new defines to the mman.h file.
2023-06-14 12:52:07 -04:00
Enrico Fraccaroli (Galfurian)
16c416cbea
Add new functions to the list_head system.
2023-06-14 12:51:41 -04:00
Enrico Fraccaroli (Galfurian)
fb0323c8ce
Create a temporary solution to call a 6-arguments system call (specifically, mmap).
2023-06-09 15:36:03 -04:00
Enrico Fraccaroli (Galfurian)
d90e7ff02b
Move list_head in libc
2023-06-09 10:45:51 -04:00
Enrico Fraccaroli (Galfurian)
c17153318c
Finish the implementation for message send, and receive. Implement their IPC_NOWAIT behaviour.
2023-06-08 17:06:42 -04:00
Enrico Fraccaroli (Galfurian)
f515c44eb3
Implement message send and receive functions.
2023-06-08 16:38:42 -04:00
Enrico Fraccaroli (Galfurian)
8f6ff5a59a
Add the core for creating a message queue. Write the code for sending messages.
2023-06-08 15:46:50 -04:00
Enrico Fraccaroli (Galfurian)
e5370dff36
Prepare main structure for managing message queues.
2023-06-08 10:51:33 -04:00
Enrico Fraccaroli (Galfurian)
2fcce9360c
Merge branch 'develop' into feature/ipc_msg
2023-06-08 10:45:35 -04:00
Enrico Fraccaroli (Galfurian)
63d36004b3
Move the pointer to the semaphores back into the kernel-only data structure sem_info_t.
2023-06-08 10:45:26 -04:00
Enrico Fraccaroli (Galfurian)
ca3c769467
Initialize the message queue data structures.
2023-06-08 10:37:45 -04:00
Enrico Fraccaroli (Galfurian)
dbbdb907aa
Change asm compilation command.
2023-06-02 14:41:00 -04:00
Enrico Fraccaroli (Galfurian)
8891ed7d7a
Fix semop return type. Do some minor style-based fixes.
2023-06-02 13:49:10 -04:00
Enrico Fraccaroli (Galfurian)
db050db01c
Move list of semaphores inside semid_ds structure.
2023-05-24 13:31:44 -04:00
Enrico Fraccaroli (Galfurian)
1acec3e7b3
Fix third test program. Fix EAGAIN message.
2023-05-23 14:05:41 -04:00
Enrico Fraccaroli (Galfurian)
3ae9258347
Fix permission management for IPC and also for EXT2.
2023-05-23 13:40:02 -04:00