| From 9fe90ab1e333b2e2bed370ff13ba552eb54c3aaf Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Sat, 17 Jul 2021 09:56:28 -0700 |
| Subject: [PATCH] Define __SWORD_TYPE if undefined |
| |
| These fixes are inspired when building autofs on musl |
| |
| Upstream-Status: Pending |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| daemon/automount.c | 20 ++++++++++++++------ |
| include/hash.h | 5 +++++ |
| lib/log.c | 6 +++++- |
| 3 files changed, 24 insertions(+), 7 deletions(-) |
| |
| --- a/daemon/automount.c |
| +++ b/daemon/automount.c |
| @@ -1,7 +1,7 @@ |
| /* ----------------------------------------------------------------------- * |
| * |
| * automount.c - Linux automounter daemon |
| - * |
| + * |
| * Copyright 1997 Transmeta Corporation - All Rights Reserved |
| * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org> |
| * Copyright 2001-2005 Ian Kent <raven@themaw.net> |
| @@ -11,7 +11,7 @@ |
| * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, |
| * USA; either version 2 of the License, or (at your option) any later |
| * version. |
| - * |
| + * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| @@ -40,6 +40,14 @@ |
| #include <systemd/sd-daemon.h> |
| #endif |
| |
| +#ifndef __SWORD_TYPE |
| +# if __WORDSIZE == 32 /* System word size */ |
| +# define __SWORD_TYPE int |
| +# else /* __WORDSIZE == 64 */ |
| +# define __SWORD_TYPE long int |
| +# endif |
| +#endif |
| + |
| #include "automount.h" |
| #if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND) |
| #include <dlfcn.h> |
| @@ -282,7 +290,7 @@ int rmdir_path(struct autofs_point *ap, |
| dev, buf, st.st_dev); |
| return -1; |
| } |
| - |
| + |
| /* |
| * Last element of path may be a symbolic link; all others |
| * are directories (and the last directory element is |
| @@ -455,7 +463,7 @@ int count_mounts(struct autofs_point *ap |
| |
| counter.count = 0; |
| counter.dev = dev; |
| - |
| + |
| if (walk_tree(path, counter_fn, 1, ap, &counter) == -1) |
| return -1; |
| |
| @@ -811,7 +819,7 @@ static char *automount_path_to_fifo(unsi |
| /* |
| * An automount path can be made up of subdirectories. So, to |
| * create the fifo name, we will just replace instances of '/' with |
| - * '-'. |
| + * '-'. |
| */ |
| p = fifo_name + strlen(fifodir); |
| while (*p != '\0') { |
| @@ -1640,7 +1648,7 @@ static void return_start_status(void *ar |
| sc->done = 1; |
| |
| /* |
| - * Startup condition mutex must be locked during |
| + * Startup condition mutex must be locked during |
| * the startup process. |
| */ |
| status = pthread_cond_signal(&sc->cond); |
| --- a/include/hash.h |
| +++ b/include/hash.h |
| @@ -5,6 +5,11 @@ |
| |
| #include <sys/types.h> |
| #include <stdint.h> |
| +#include <linux/stddef.h> |
| + |
| +#ifndef __GLIBC__ |
| +#include <sys/reg.h> |
| +#endif |
| |
| /* |
| * The "GOLDEN_RATIO_PRIME" is used in ifs/btrfs/brtfs_inode.h and |
| --- a/lib/log.c |
| +++ b/lib/log.c |
| @@ -38,7 +38,11 @@ static char *prepare_attempt_prefix(cons |
| char buffer[ATTEMPT_ID_SIZE + 1]; |
| char *prefixed_msg = NULL; |
| |
| - attempt_id = pthread_getspecific(key_thread_attempt_id); |
| + if (key_thread_attempt_id) { |
| + attempt_id = pthread_getspecific(key_thread_attempt_id); |
| + } else { |
| + attempt_id = 0; |
| + } |
| if (attempt_id) { |
| int len = sizeof(buffer) + 1 + strlen(msg) + 1; |
| |