From: Merlijn Wajer <merlijn@wizzup.org>
To: dsterba@suse.cz, linux-btrfs@vger.kernel.org
Subject: Re: [RFC] btrfs-progs: Support for musl libc (and perhaps also uclibc)
Date: Thu, 18 Dec 2014 11:29:40 +0100 [thread overview]
Message-ID: <5492AC94.8050104@wizzup.org> (raw)
In-Reply-To: <20141217164924.GB27601@twin.jikos.cz>
[-- Attachment #1.1: Type: text/plain, Size: 1615 bytes --]
Hi,
On 17/12/14 17:49, David Sterba wrote:
> On Sat, Dec 13, 2014 at 03:35:09PM +0100, Merlijn Wajer wrote:
> [snip]
>
>> Attached are the two patches generated with git format-patch. I am aware
>> that this may not be required format for submitting patches -- but
>> please give me some time to get used to the etiquette. :-)
>
> Thanks, there are minor things that I won't bother to point out to
> occasional contributors and fix them myself. The only formal requirement
> is the Signed-off-by tag, you can find the description eg. here
>
> http://lxr.free-electrons.com/source/Documentation/SubmittingPatches#L358
Alright, cool. I've rebased my two patches and used --signoff when
amending the commit. Please find the new patches attached.
>> Please let me know if musl-libc (or any other libc) is a supported
>> platform, and if so, if and how I can improve on said patches.
>
> I'm not aware of non-glibc users, but I don't see any problem to add
> support for more libc implementations. However, I won't regularly verify
> that it builds so it might break.
That is fine; at this point there are not a lot of people using an
alternative libc, so this is common practice. I'll be here with a new
round of patches if it breaks in a future release; it shouldn't really
break too often. :)
> Seems that only standardized library calls are used in btrfs-progs so
> any kind of support is probably going to be satisfied by #ifdefs.
> Your patches are simple so I'll try to schedule them to some 3.18.x
> update.
That would be great; thank you.
Regards,
Merlijn
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Include-headers-required-for-musl-libc.patch --]
[-- Type: text/x-patch; name="0001-Include-headers-required-for-musl-libc.patch", Size: 1368 bytes --]
From 0109fd7ce62eee8b16aa5bdf78f3de54011e00f3 Mon Sep 17 00:00:00 2001
From: Merlijn Wajer <merlijn@wizzup.org>
Date: Sat, 13 Dec 2014 15:07:25 +0100
Subject: [PATCH 1/2] Include headers required for musl-libc.
This fixes various compilation errors where PATH_MAX and XATTR_SIZE_MAX
were missing. To my knowledge, this should have no bad side effects.
Signed-off-by: Merlijn Wajer <merlijn@wizzup.org>
---
btrfs-convert.c | 1 +
help.c | 1 +
mkfs.c | 2 ++
3 files changed, 4 insertions(+)
diff --git a/btrfs-convert.c b/btrfs-convert.c
index 02c5e94..7b69a13 100644
--- a/btrfs-convert.c
+++ b/btrfs-convert.c
@@ -31,6 +31,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <uuid/uuid.h>
+#include <linux/limits.h>
#include "ctree.h"
#include "disk-io.h"
diff --git a/help.c b/help.c
index fab942b..56aaf9c 100644
--- a/help.c
+++ b/help.c
@@ -17,6 +17,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "commands.h"
#include "utils.h"
diff --git a/mkfs.c b/mkfs.c
index e10e62d..6343831 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -35,6 +35,8 @@
#include <uuid/uuid.h>
#include <ctype.h>
#include <sys/xattr.h>
+#include <limits.h>
+#include <linux/limits.h>
#include <blkid/blkid.h>
#include <ftw.h>
#include "ctree.h"
--
2.0.4
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-Disable-backtrace-and-define-__always_inline.patch --]
[-- Type: text/x-patch; name="0002-Disable-backtrace-and-define-__always_inline.patch", Size: 933 bytes --]
From 5ae5cfa3af473625ef5b31daf5f229f12be753d2 Mon Sep 17 00:00:00 2001
From: Merlijn Wajer <merlijn@wizzup.org>
Date: Sat, 13 Dec 2014 15:08:43 +0100
Subject: [PATCH 2/2] Disable backtrace and define __always_inline
Disable backtrace and define __always_inline when glibc is not used as
libc. This, together with some header changes allows btrfs-progs to
compile with musl-libc.
Signed-off-by: Merlijn Wajer <merlijn@wizzup.org>
---
kerncompat.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/kerncompat.h b/kerncompat.h
index 8afadc8..05823a7 100644
--- a/kerncompat.h
+++ b/kerncompat.h
@@ -29,6 +29,12 @@
#include <stddef.h>
#include <linux/types.h>
#include <stdint.h>
+
+#ifndef __glibc__
+#define BTRFS_DISABLE_BACKTRACE
+#define __always_inline __inline __attribute__ ((__always_inline__))
+#endif
+
#ifndef BTRFS_DISABLE_BACKTRACE
#include <execinfo.h>
#endif
--
2.0.4
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
next prev parent reply other threads:[~2014-12-18 10:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-13 14:35 [RFC] btrfs-progs: Support for musl libc (and perhaps also uclibc) Merlijn Wajer
2014-12-17 16:49 ` David Sterba
2014-12-17 18:46 ` Austin S Hemmelgarn
2014-12-18 10:29 ` Merlijn Wajer [this message]
2014-12-18 17:43 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5492AC94.8050104@wizzup.org \
--to=merlijn@wizzup.org \
--cc=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).