From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Mon, 8 Aug 2016 19:59:34 +0200 Subject: [Buildroot] [PATCH] netplug: add two patches to fix musl build issues In-Reply-To: <1470430356-29349-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1470430356-29349-1-git-send-email-thomas.petazzoni@free-electrons.com> Message-ID: <20160808175934.GA32406@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Thomas, All, On 2016-08-05 22:52 +0200, Thomas Petazzoni spake thusly: > This commit adds two patches to netplug that are needed for this package > to build with musl: > > - One patch to add a missing header inclusion > - One patch to fix a conflicting prototype on __assert_fail(). > > Fixes: > > http://autobuild.buildroot.net/results/c2a5dfedba46cc8eb3d0c5c43f1f76fe0bb1805f/ > > Signed-off-by: Thomas Petazzoni Reviewed-by: "Yann E. MORIN" Regards, Yann E. MORIN. > --- > .../netplug/0002-add-missing-time-include.patch | 20 +++++++++ > package/netplug/0003-remove-assert-fail.patch | 51 ++++++++++++++++++++++ > 2 files changed, 71 insertions(+) > create mode 100644 package/netplug/0002-add-missing-time-include.patch > create mode 100644 package/netplug/0003-remove-assert-fail.patch > > diff --git a/package/netplug/0002-add-missing-time-include.patch b/package/netplug/0002-add-missing-time-include.patch > new file mode 100644 > index 0000000..f204c92 > --- /dev/null > +++ b/package/netplug/0002-add-missing-time-include.patch > @@ -0,0 +1,20 @@ > +Add missing include > + > +netplug.h uses time_t, so it must include . This fixes a build > +issue with the musl C library. > + > +Signed-off-by: Thomas Petazzoni > + > +Index: b/netplug.h > +=================================================================== > +--- a/netplug.h > ++++ b/netplug.h > +@@ -20,7 +20,7 @@ > + #ifndef __netplug_h > + #define __netplug_h > + > +- > ++#include > + #include > + #include > + #include > diff --git a/package/netplug/0003-remove-assert-fail.patch b/package/netplug/0003-remove-assert-fail.patch > new file mode 100644 > index 0000000..635c462 > --- /dev/null > +++ b/package/netplug/0003-remove-assert-fail.patch > @@ -0,0 +1,51 @@ > +Remove __assert_fail() > + > +The netplug code uses the assert() macro in various places. In glibc > +internally, assert() uses a function called __assert_fail() to print a > +message and abort. Relying on internal glibc details, netplug > +re-defines __assert_fail() in the hope that it will get called instead > +of glibc internal version. > + > +This attempt: > + > + * Doesn't work with uClibc, which doesn't use any __assert_fail() > + function at all. It doesn't fail to build, but it is entirely > + useless. > + > + * Fails to build with musl, which also defines __assert_fail(), but > + with a different prototype. > + > +We simply remove the __assert_fail() implementation, so that the C > +library implementation of assert() just does its normal work. The only > +functionality lost is that the message is displayed on the standard > +output rather than in netplug's logs (and this was only working with > +glibc anyway). > + > +Signed-off-by: Thomas Petazzoni > + > +Index: b/lib.c > +=================================================================== > +--- a/lib.c > ++++ b/lib.c > +@@ -199,21 +199,6 @@ > + return x; > + } > + > +- > +-void > +-__assert_fail(const char *assertion, const char *file, > +- unsigned int line, const char *function) > +-{ > +- do_log(LOG_CRIT, "%s:%u: %s%sAssertion `%s' failed", > +- file, line, > +- function ? function : "", > +- function ? ": " : "", > +- assertion); > +- > +- abort(); > +-} > +- > +- > + /* > + * Local variables: > + * c-file-style: "stroustrup" > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'