summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-03pflocal: Do not abort on too small getopt parameterSamuel Thibault
* pflocal/socket.c (S_socket_getopt): When *value_len is too small, return EINVAL instead of aborting.
2016-01-03Add dumb SO_ERROR support to pflocalSamuel Thibault
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.
2016-01-02allow pfinet to link using -O0Flavio Cruz
This fixes a long list of undefined references when compiling with -O0 by using static instead of extern in header files.
2016-01-01fix mach-defpager static linkingFlavio Cruz
* mach-defpager/Makefile: Allow multiple definitions for mach-defpager.
2015-12-31fix compiler warning in hurd/fstestsFlavio Cruz
* fstests/fstests.c (main): Only declare 'root' when HURDISH_TESTS is defined.
2015-12-31Drop OTHERLIBS and use LDLIBS exclusivelyFlavio Cruz
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.
2015-12-31Use DEVICE_IMPORTS to include libports/ports.hFlavio Cruz
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.
2015-12-31Define IO_OUTTRAN so that term_on_pty returns a mach_port_tFlavio Cruz
* libtrivfs/mig-decls.h: Implement trivfs_convert_to_port. * term/mig-mutate.h: Define IO_OUTTRAN.
2015-12-30Add missing libraries to fix link errorsFlavio Cruz
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.
2015-12-30fix compiler warnings in hurd/nfs and hurd/nfsdFlavio Cruz
* nfsd/fsys.c (init_filesystems): Use 'm' qualifier instead of 'a' for allocating the name in fscanf call.
2015-12-29fix compiler warnings in hurd/utilsFlavio Cruz
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.
2015-12-29fix compiler warnings in hurd/transFlavio Cruz
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 *.
2015-12-29fix compiler warnings in hurd/startupFlavio Cruz
startup: Fix compiler warning. * startup/startup.c (do_mach_notify_dead_name): Fix format string.
2015-12-29fix compiler warnings in hurd/randomFlavio Cruz
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.
2015-12-29Include missing header file in hurd/procFlavio Cruz
proc: Add missing header file. * proc/mgt: Include missing header file mach/task_notify.h.
2015-12-29fix compiler warnings in hurd/procfsFlavio Cruz
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.
2015-12-29fix compiler warnings in hurd/nfs and hurd/nfsdFlavio Cruz
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.
2015-12-29drop the deprecated malloc/free hooks in hurd/mach-defpagerFlavio Cruz
2015-12-29fix compiler warnings in hurd/libstoreFlavio Cruz
2015-12-29fix compiler warnings in hurd/libshouldbeinlibcFlavio Cruz
2015-12-29fix compiler warnings in hurd/libnetfsFlavio Cruz
2015-12-29fix compiler warnings in hurd/libihashFlavio Cruz
2015-12-29fix compiler warnings in hurd/libftpconnFlavio Cruz
2015-12-29fix compiler warnings in hurd/isofsFlavio Cruz
* isofs/rr.c (rrip_work): Use unsigned char. * isofs/rr.h: Use unsigned char instead of char.
2015-12-29fix compiler warnings in hurd/libdiskfsFlavio Cruz
2015-12-29fix compiler warnings in hurd/isofsFlavio Cruz
* 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.
2015-12-29fix compiler warnings in hurd/console-clientFlavio Cruz
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.
2015-12-29fix compiler warnings in hurd/ext2fsFlavio Cruz
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.
2015-12-29fix compiler warnings in hurd/execFlavio Cruz
exec: Fix compiler warnings. * exec/elfcore.c: Cast arguments to vm_address_t. * exec/main.c: Use %lu in asprintf.
2015-12-29fix compiler warnings in hurd/daemonsFlavio Cruz
daemons: Fix compiler warnings. * daemons/lmail.c: Initialize cached to 0.
2015-12-29fix compiler warnings in hurd/console-clientFlavio Cruz
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.
2015-12-29boot: Fix boot.c compiler warning.Flavio Cruz
* boot/boot.c: Compare header without using pointer dereferencing.
2015-12-01libdiskfs: use ihash for the node cacheJustus Winter
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.
2015-11-29ext2fs: keep list of reusable disk cache entriesJustus Winter
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.
2015-11-29ext2fs: disable block cache debugging by defaultJustus Winter
* ext2fs/ext2fs.h: Disable block cache debugging by default. * ext2fs/pager.c: Likewise.
2015-11-29ext2fs: improve the block cacheJustus Winter
* 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.
2015-11-29libihash: provide a general purpose hash algorithmJustus Winter
* 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.
2015-11-29libihash: fix item insertionJustus Winter
* libihash/ihash.c (find_index): Keep track and return the index where we could insert the item. (add_one): Use 'find_index'.
2015-11-29libihash: generalize the interface to support non-integer keysJustus Winter
* 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.
2015-11-29libihash: fix fast insertion corner caseJustus Winter
* libihash/ihash.c (hurd_ihash_locp_add): Fix insertion if the key doesn't match.
2015-11-29libihash: fix ill-devised locp lookup interfaceJustus Winter
* 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.
2015-11-29Use -L instead of -Wl,-rpath-linkSamuel Thibault
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).
2015-11-29Add missing menusSamuel Thibault
2015-11-29Fix undefined referenceSamuel Thibault
* doc/hurd.texi (devnode): Do not reference not-yet-existing eth-multiplexer node.
2015-11-29Add devnode documentationSamuel Thibault
* doc/hurd.texi (devnode): Add section.
2015-11-29Add libhurd-slabSamuel Thibault
* libhurd-slab: New directory * Makefile (lib-subdirs): Add libhurd-slab.
2015-11-29Add devnode translatorSamuel Thibault
* devnode: New directory * Makefile (prog-subdirs): Add devnode.
2015-11-12libihash: prefer performance degradation over failureJustus Winter
* libihash/ihash.c (hurd_ihash_add): Add the item even though we are above the load factor if resizing failed.
2015-11-06libihash: optimize lookup-or-insert operationsJustus Winter
If libihash is used to implement a cache, a insertion is always preceeded by a lookup. hurd_ihash_add has to do the lookup again. Provide a new pair of functions, hurd_ihash_locp_add and hurd_ihash_locp_find, that can be used in combination to avoid the second lookup. * libihash/ihash.c (hurd_ihash_locp_add): New function using a location pointer... (hurd_ihash_locp_find): ... that has been returned by this function. * libihash/ihash.h (hurd_ihash_locp_add): New declaration. (hurd_ihash_locp_find): Likewise. (hurd_ihash_locp_value): New function.
2015-11-06libihash: add hurd_ihash_value_validJustus Winter
* libihash/ihash.h (hurd_ihash_value_valid): New function. * libihash/ihash.c (index_empty): Use hurd_ihash_value_valid.