Age | Commit message (Collapse) | Author |
|
Message-Id: <20230508213136.608575-19-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-18-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-17-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-16-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-15-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-14-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-12-bugaevc@gmail.com>
|
|
We cannot use old_buf after we realloc it, even just for subtracting it
from another pointer. Instead, compute the offsets in advance.
Message-Id: <20230508213136.608575-11-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-10-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-9-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-8-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-7-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-6-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-5-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-4-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-3-bugaevc@gmail.com>
|
|
Message-Id: <20230508213136.608575-2-bugaevc@gmail.com>
|
|
Due to MiG requiring the subsystem to be defined early in order to know the
size of a port, this was causing a division by zero error during ./configure.
We could have just move subsystem to the top of the snippet, however it is
simpler to just remove the check given that we have no plans to use some other
MiG anyway.
We force RETURN_CODE_ARG to use retcode which is a no-op.
Message-Id: <ZFhs3KSeGhuubS8T@jupiter.tail36e24.ts.net>
|
|
interface.
Message-Id: <ZFfcloxDKSiyHJTH@jupiter.tail36e24.ts.net>
|
|
* Perform the correct alignment for x86_64.
* Use designated initializers.
Message-Id: <ZFSJeDp9rWoNK4lL@jupiter.tail36e24.ts.net>
|
|
|
|
Message-Id: <ZFLcIs0iwiC9kQDf@jupiter.tail36e24.ts.net>
|
|
dev_t are 64bit on Linux ports, so better increase their size on 64bit
Hurd. It happens that this helps with BZ 23084 there: st_dev has type fsid_t
(quad) and is specified by POSIX to have type dev_t. Making dev_t 64bit
makes these match.
|
|
A follow up to 92fad38a043b75ed6b435b3efa574ede91dbe9ee in gnumach.
Message-Id: <ZFCNasf9bJ9qj+CG@jupiter.tail36e24.ts.net>
|
|
default_pager_paging_storage RPC.
This brings us a bit closer to having all types' msgt_size representable
with a single byte. We will be able to avoid mach_msg_type_long_t
entirely for x86_64 since mach_msg_type_t can represent long types using
a separate field.
Message-Id: <ZEdO0Grm2AUw4Tfe@jupiter.tail36e24.ts.net>
|
|
Defined alignment as __alignof__(uintptr_t) to match MiG.
Also used char* instead of void* during the message iteration since it's
more portable as pointer arithmetic on void* is a GNU extension.
Message-Id: <ZEYMUWHf/2VH2KlD@jupiter.tail36e24.ts.net>
|
|
This exposes msg_report_wait. For example:
$ msgport --report-wait --pid $$
26997: 2 threads
26997: thread 0: proc_wait_request [init#3]
26997: thread 1: msgport
Message-Id: <20230418104915.12301-1-bugaevc@gmail.com>
|
|
This was always showing up as 0, because apparently we need to query
creation_time for the task, not a thread.
Here's a before vs after comparison:
$ cat /proc/self/stat ~/procfs/self/stat
11151 (cat) S 26571 11151 26571 0 0 0 0 0 0 0 1 0 0 0 20 0 2 0 0 154783744 251 0 134443008 134477480 0 0 0 0 0 0 0 21001 0 0 0 0 0 0 0
11151 (cat) S 26571 11151 26571 0 0 0 0 0 0 0 1 0 0 0 20 0 2 0 168174516295 154783744 260 0 134443008 134477480 0 0 0 0 0 0 0 21001 0 0 0 0 0 0 0
Message-Id: <20230418104902.12263-1-bugaevc@gmail.com>
|
|
The default_pager_paging_storage RPC has already it more than 20 years
ago. Given that we want to change the type of default_pager_filename_t
to use c_string, we can just remove the unused RPC.
Tested that swapon/swapoff still work with the new binaries.
Message-Id: <ZDoyNOE0XB77d5xj@mars.tail36e24.ts.net>
|
|
There was an implicit dependency on -lmachuser. Adding a dependency to
generated stubs from hurd so that we can stop providing the stubs in
machuser from glibc.
Message-Id: <ZC+nsGvhsOwt6XyB@jupiter.tail36e24.ts.net>
|
|
Also update the crash_dump_task RPC since it gets the subcode from the
signal details in Glibc.
This should fix the existing build error.
Message-Id: <ZDDrnHFHtiLIS53W@jupiter.tail36e24.ts.net>
|
|
function declarations.
Most of the changes land in one of these buckets:
* Removed unused declarations.
* Used (void) to represent no parameters instead of () which means an
undeterminate number of parameters.
* Included missing header files whenever necessary (stdlib.h,
sys/mman.h, etc)
* Typedefed function pointers to be able to fully declare the parameter
types.
* Added declarations of library functions that are used elsewhere
(example is libps/ps.h).
* Made functions static whenever they are only used in that file.
* Forwarded declarations of some methods that were made static.
Message-Id: <ZDD1o7/tVYeZew+G@jupiter.tail36e24.ts.net>
|
|
Message-Id: <ZDDr1XFRL+6dQ3iQ@jupiter.tail36e24.ts.net>
|
|
Hurd code relies on gnumach default_pager.defs headers when making calls
using the default pager RPC. Those stubs were checked in back in the 90s
and are essentially unused because gnumach does not implement or use
that interface. Instead use the Hurd interface directly.
This is safe since the Hurd stubs are a super set of the gnumach stubs.
Later, we won't need to install the gnumach stubs anymore through glibc.
Message-Id: <ZC5WqPKfCCiE8D29@jupiter.tail36e24.ts.net>
|
|
https://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=5447f965f1e109f7ac9aeb91c0e3906969a4adb8
provides more context.
Message-Id: <ZBFkAXCYcj27UXRo@mars.tail36e24.ts.net>
|
|
Also add -Werror=old-style-definition to enforce new code.
Message-Id: <ZBZ+8xf7GHy2RT/h@jupiter.tail36e24.ts.net>
|
|
56d065041793 ("libstore: Fix undefined behavior") missed letting the sign
bit be 0, thus leading to a negative store size, and thus /dev/zero
would reject any read/write.
|
|
|
|
The Ethernet header is 14 bytes long, and thus leads to IP header
misalignment. This uses skb_reserve to introduce 2 bytes of padding to
realign IP headers.
|
|
To allow e.g. libubsan to detect it should be extra cautious.
|
|
We need to keep ds locked, otherwise it might disappear before we have a
chance to broadcast the condition.
|
|
Shifting signed 0xffffffff 32 bit left is undefined behavior. Cast to
unsigned to make it defined behavior.
|
|
Shifting (signed) 1 to left 31 positions is undefined behavior. So make
this an unsigned so it becomes defined behavior.
|
|
store_offset_t is a signed type, so 1 << (bits-1) overflows.
|
|
d21b09b32895 was computing the amount and filling it, but not actually
enforcing it.
|
|
|
|
|
|
1 << 31 is undefined behavior, 1 needs to be made unsigned for << 31 to
be defined behavior.
|
|
|
|
|