Age | Commit message (Collapse) | Author |
|
During rsyslog testsuite, it does happen that threads running
schedule_timeout get woken up by something else than the timer. The (local)
timer needs to be removed in that case. Let's just always remove it, like
Linux does.
* pfinet/glue-include/linux/sched.h (schedule_timeout): Remove local timer
before returning.
|
|
* pfinet/timer-emul.c (timers, timer_thread): Make variables static.
|
|
* pflocal/socket.c (S_socket_getopt): When *value_len is too small, return
EINVAL instead of aborting.
|
|
pflocal does not currently have asynchronous operations, so we can make
SO_ERROR just report 0.
* pflocal/socket.c (S_socket_getopt): For `level' SOL_SOCKET and `opt'
SO_ERROR, report 0.
|
|
This fixes a long list of undefined references when compiling with -O0
by using static instead of extern in header files.
|
|
* mach-defpager/Makefile: Allow multiple definitions for mach-defpager.
|
|
* fstests/fstests.c (main): Only declare 'root' when HURDISH_TESTS is
defined.
|
|
When cross-compiling, OTHERLIBS magically turns -lpthread into the path
to the host libpthread.so file, resulting in build issues. LDLIBS does
not suffer from this problem and it seems that is already being used in
other Makefiles. This patch removes OTHERLIBS entirely from the build
system.
* Makeconf: Remove references to OTHERLIBS
* auth/Makefile: Replace OTHERLIBS with LDLIBS.
* boot/Makefile: Likewise.
* console/Makefile: Likewise.
* exec/Makefile: Likewise.
* ext2fs/Makefile: Likewise.
* fatfs/Makefile: Likewise.
* ftpfs/Makefile: Likewise.
* hostmux/Makefile: Likewise.
* isofs/Makefile: Likewise.
* libhurd-slab/Makefile: Likewise.
* nfs/Makefile: Likewise.
* nfsd/Makefile: Likewise.
* pfinet/Makefile: Likewise.
* proc/Makefile: Likewise.
* procfs/Makefile: Likewise.
* random/Makefile: Likewise.
* storeio/Makefile: Likewise.
* term/Makefile: Likewise.
* tmpfs/Makefile: Likewise.
* usermux/Makefile: Likewise.
|
|
On Thu, Dec 31, 2015 at 04:28:14PM +0100, Justus Winter wrote:
> Quoting Samuel Thibault (2015-12-31 16:11:30)
> > Flavio Cruz, on Thu 31 Dec 2015 15:56:31 +0100, wrote:
> > > This fixes three compiler warnings about ports_payload_get_name.
> > >
> > > * devnode/Makefile: Define DEVICE_IMPORTS.
> > > * term/Makefile: Likewise.
> > > * trans/Makefile: Likewise.
> >
> > Why not adding them to the corresponding mig-mutate.h?
>
> Sometimes we don't have a mig-mutate.h, e.g. for most (all?)
> translators in trans/. I prefer stuffing that in a .h as well, but I
> wouldn't be opposed to just applying the patch, as we use both ways of
> mutating the mig types.
Agreed. I think only devnode should include it in mig-mutate.h. For
term, only some stubs are including mig-mutate.h. For trans, there's no
mig-mutate.h at all. Here's the modified patch.
|
|
* libtrivfs/mig-decls.h: Implement trivfs_convert_to_port.
* term/mig-mutate.h: Define IO_OUTTRAN.
|
|
This fixes several linking problems I had in my recent cross-compilation
of the Hurd. I added missing static libraries and also organized some of
the targets for more concise rules.
* console-client/Makefile: Add libiohelp.a and libihash.a.
* daemons/Makefile: Add libihash.a and libshouldbeinlibc.a.
* devnode/Makefile: Add iohelp and ihash to HURDLIBS.
* random/Makefile: Likewise.
* trans/Makefile: Reorder targets alphabetically and add libiohelp.a and
libihash.a.
* utils/Makefile: Add libihash.a.
|
|
* nfsd/fsys.c (init_filesystems): Use 'm' qualifier instead of 'a' for
allocating the name in fscanf call.
|
|
utils: Fix compiler warnings.
* utils/rpcscan.c (setup_extract_target): Remove name variable.
* utils/rpcscan.c (setup_extract_target): Fix bad initializer.
* utils/rpctrace.c (new_send_wrapper, wrap_all_threads, wrap_new_thread,
wrap_new_task, traced_spawn): Fix format strings.
* utils/rpctrace.c (trace_and_forward): Cast to unsigned int.
* utils/rpctrace.c (trace_and_forward): Use memcmp instead of pointer
dereferencing to compare structures.
* utils/rpctrace.c (wrap_all_threads): Cast to vm_address_t.
* utils/rpctrace.c (main): Fix bad initializer.
* utils/shd.c (run): Initialize save0.
* utils/vminfo.c: Fix format strings.
* utils/vmstat.c: Remove PSEP macro and expand the code.
* utils/w.c (add_utmp_procs): Remove unused pos variable.
|
|
trans: Fix compiler warnings.
* trans/mtab.c (mtab_mark_as_seen): Cast idport to hurd_ihash_value_t.
* trans/streamio.c (dev_open): Cast name to char *.
|
|
startup: Fix compiler warning.
* startup/startup.c (do_mach_notify_dead_name): Fix format string.
|
|
random: Fix compiler warnings.
* random/gnupg-random.c: Use byte instead of char.
* random/gnupg-rmd.h (rmd160_mixblock): Use byte instead of char.
* random/gnupg-rmd.c (rmd160_mixblock): Likewise.
* random/gnupg-rmd.c: Place #ifdef __HURD__ earlier to avoid warnings.
|
|
proc: Add missing header file.
* proc/mgt: Include missing header file mach/task_notify.h.
|
|
procfs: Fix compiler warnings.
* include/sys/procfs.h: Change uintptr_t to vm_address_t.
* procfs/process.c: Fix format strings.
* procfs/rootdir.c: Add missing casts.
|
|
nfs: Fix compiler warnings.
* nfs/ops.c (netfs_get_dirents): Initialize buf.
* nfsd/nfsd.h: Define cache_handle_array union.
* nfsd/cache.c: Use new cache_handle_array union.
* nfds/ops.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* isofs/rr.c (rrip_work): Use unsigned char.
* isofs/rr.h: Use unsigned char instead of char.
|
|
|
|
* fatfs/dir.c: Use casts to avoid warnings.
* fatfs/fat.c: Use unsigned char in fat_{from,to}_epoch.
* fatfs/fat.h: Change arguments accordingly.
* fatfs/fat.c (fat_read_sblock): Use size_t instead.
* fatfs/inode.c (diskfs_cached_lookup_in_dirbuf): Remove err variable.
* fatfs/inode.c (diskfs_user_read_node): Don't cast constant.
* fatfs/inode.c (write_node): Check for errors in vm_map.
|
|
On Tue, Dec 29, 2015 at 08:43:24PM +0100, Samuel Thibault wrote:
> Flavio Cruz, on Tue 29 Dec 2015 17:35:00 +0100, wrote:
> > @@ -663,10 +663,11 @@ update_leds (void)
> > | (led_state.num_lock ? 2 : 0)
> > | (led_state.caps_lock ? 4 : 0);
> >
> > - err = device_write_inband (kbd_dev, 0, -1, (void *) leds, 2, &data_cnt);
> > + err = device_write_inband (kbd_dev, 0, -1, (void *) leds, 2,
> > + (int *) &data_cnt);
> > if (!err && data_cnt == 1)
> > err = device_write_inband (kbd_dev, 0, -1, (void *) &leds[1], 1,
> > - &data_cnt);
> > + (int *) &data_cnt);
> > }
> > }
> >
>
> I'm surprised: if the device_write_inband RPC really wants an int*, why
> not making data_cnt an int?
That works better. Thanks.
console-client: Fix compiler warning.
* console-client/pc-kbd.c (update_leds): Replace mach_msg_type_number_t with
int.
|
|
ext2fs: Fix compiler warnings.
* ext2fs/balloc.c: Use unsigned char instead of char.
* ext2fs/bitmap.c Use unsigned char for bitmaps.
* ext2fs/dir.c: Fix format.
* ext2fs/ext2fs.h: Use unsigned char for bitmaps.
* ext2fs/ialloc.c: Use unsigned char for bitmaps. Fix format string in
ext2_warning.
* ext2fs/pager.c: Fix format string in ext2_warning and ext2_error.
|
|
exec: Fix compiler warnings.
* exec/elfcore.c: Cast arguments to vm_address_t.
* exec/main.c: Use %lu in asprintf.
|
|
daemons: Fix compiler warnings.
* daemons/lmail.c: Initialize cached to 0.
|
|
console-client: Fix several compiler warnings.
* console-client/bdf.c: Use size_t instead of int.
* console-client/driver.c: Remove unused variable errstring.
* console-client/pc-kbd.c: Cast sc to scancode_x1 before comparing with enum
values.
* console-client/vga-dynacolor.h: Use an explicit if in reference counting.
* console-client/vga-dynafont.c: Use usigned char for bitmaps.
* console-client/vga-support.c: Use unsigned char instead of char.
* console-client/vga-support.h: Likewise.
* console-client/vga.c: Use conchar_attr_equal instead of casting structures to
integers.
* hurd/console.h: Add conchar_attr_equal to compare conchar_attr_t structures.
|
|
* boot/boot.c: Compare header without using pointer dereferencing.
|
|
Replace the hand-written hash table in the node cache with libihash.
Libihash is a self-tuning hash table, whereas the previous code used a
fixed number of buckets.
* libdiskfs/Makefile (HURDLIBS): Link to `ihash'.
* libdiskfs/diskfs.h (struct node): Remove bucket list, add slot pointer.
* libdiskfs/node-cache.c (nodecache): New ihash table replacing the
old `nodehash'.
(lookup): Drop function.
(diskfs_cached_lookup_context): Adapt accordingly.
(diskfs_cached_ifind): Likewise.
(diskfs_try_dropping_softrefs): Likewise.
(diskfs_node_iterate): Likewise.
|
|
This avoids a linear scan through the cache.
* ext2fs/ext2fs.h (struct disk_cache_info): New field 'next'.
* ext2fs/pager.c (disk_cache_hint): Drop.
(disk_cache_info_free, disk_cache_info_free_lock): New variables.
(disk_cache_info_free_pop, disk_cache_info_free_push): New functions.
(disk_cache_init): Adjust slightly.
(disk_cache_block_ref): Use new functions.
(disk_cache_block_deref): Likewise.
|
|
* ext2fs/ext2fs.h: Disable block cache debugging by default.
* ext2fs/pager.c: Likewise.
|
|
* ext2fs/pager.c (disk_cache_block_ref): Improve the cache by using
the new lookup and insertion functions that return and use a location
pointer.
|
|
* libdiskfs/name-cache.c: Move the Murmur3 algorithm...
* libihash/murmur3.c: ... here, and properly attribute the code.
* libihash/ihash.h (hurd_ihash_hash32): New prototype.
* libihash/Makefile (SRCS): Add new file.
|
|
* libihash/ihash.c (find_index): Keep track and return the index where
we could insert the item.
(add_one): Use 'find_index'.
|
|
* libihash/ihash.c (hash, compare): New functions that are used
throughout libihash to hash and compare keys.
(hurd_ihash_set_gki): New function.
* libihash/ihash.h (hurd_ihash_fct_hash_t): New type for hash functions.
(hurd_ihash_fct_cmp_t): New type for comparison functions.
(struct hurd_ihash): New fields for hash and comparison functions.
(HURD_IHASH_INITIALIZER_GKI): New static initializer.
(hurd_ihash_set_gki): New prototype.
|
|
* libihash/ihash.c (hurd_ihash_locp_add): Fix insertion if the key
doesn't match.
|
|
* libihash/ihash.c (hurd_ihash_locp_find): Return both the item and the slot.
* libihash/ihash.h (hurd_ihash_locp_find): Adjust prototype.
(hurd_ihash_locp_value): Remove function.
|
|
The latter does not work for libpthread.a which passes -lihash, which would
find the installed libihash.a instead of the just-compiled one.
* Makeconf (rpath): Remove, replaced by...
(lpath): ... new variable.
(link-executable, $(libname).so.$(hurd-version)): Use $(lpath) instead of
$(rpath).
|
|
|
|
* doc/hurd.texi (devnode): Do not reference not-yet-existing eth-multiplexer
node.
|
|
* doc/hurd.texi (devnode): Add section.
|
|
* libhurd-slab: New directory
* Makefile (lib-subdirs): Add libhurd-slab.
|
|
* devnode: New directory
* Makefile (prog-subdirs): Add devnode.
|
|
* libihash/ihash.c (hurd_ihash_add): Add the item even though we are
above the load factor if resizing failed.
|