Message ID | 1510010041-4377-1-git-send-email-luca@lucaceresoli.net |
---|---|
State | Superseded |
Headers | show |
Series | util-linux: fix link failures due to name clash | expand |
> From: "Luca Ceresoli" <luca@lucaceresoli.net> > To: buildroot@buildroot.org > Cc: "Luca Ceresoli" <luca@lucaceresoli.net>, "Adam Duskett" <aduskett@gmail.com> > Sent: Monday, November 6, 2017 9:14:01 PM > Subject: [Buildroot] [PATCH] util-linux: fix link failures due to name clash > Several packages have a similar md5.c file, and each has a function > named byteReverse(). This generates link errors ("multiple definition > of `byteReverse'"). > > Fix by declaring byteReverse as static, since it is just an internal > function. > > Fixes: > http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/ Did you submit this patch upstream?
> From: "Carlos Santos" <casantos@datacom.ind.br> > To: "Luca Ceresoli" <luca@lucaceresoli.net> > Cc: "Adam Duskett" <aduskett@gmail.com>, buildroot@buildroot.org > Sent: Monday, November 6, 2017 10:19:55 PM > Subject: Re: [Buildroot] [PATCH] util-linux: fix link failures due to name clash >> From: "Luca Ceresoli" <luca@lucaceresoli.net> >> To: buildroot@buildroot.org >> Cc: "Luca Ceresoli" <luca@lucaceresoli.net>, "Adam Duskett" <aduskett@gmail.com> >> Sent: Monday, November 6, 2017 9:14:01 PM >> Subject: [Buildroot] [PATCH] util-linux: fix link failures due to name clash > >> Several packages have a similar md5.c file, and each has a function >> named byteReverse(). This generates link errors ("multiple definition >> of `byteReverse'"). >> >> Fix by declaring byteReverse as static, since it is just an internal >> function. >> >> Fixes: >> http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/ > > Did you submit this patch upstream? [Do not hit “send” before completing the the message, dooh!] Perhaps it was blocked by the util-linux MLM. Did you submit the patch as a plain-text message using git send-email?
Hi Carlos, On 07/11/2017 01:45, Carlos Santos wrote: >> From: "Carlos Santos" <casantos@datacom.ind.br> >> To: "Luca Ceresoli" <luca@lucaceresoli.net> >> Cc: "Adam Duskett" <aduskett@gmail.com>, buildroot@buildroot.org >> Sent: Monday, November 6, 2017 10:19:55 PM >> Subject: Re: [Buildroot] [PATCH] util-linux: fix link failures due to name clash > >>> From: "Luca Ceresoli" <luca@lucaceresoli.net> >>> To: buildroot@buildroot.org >>> Cc: "Luca Ceresoli" <luca@lucaceresoli.net>, "Adam Duskett" <aduskett@gmail.com> >>> Sent: Monday, November 6, 2017 9:14:01 PM >>> Subject: [Buildroot] [PATCH] util-linux: fix link failures due to name clash >> >>> Several packages have a similar md5.c file, and each has a function >>> named byteReverse(). This generates link errors ("multiple definition >>> of `byteReverse'"). >>> >>> Fix by declaring byteReverse as static, since it is just an internal >>> function. >>> >>> Fixes: >>> http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/ >> >> Did you submit this patch upstream? > > [Do not hit “send” before completing the the message, dooh!] > > Perhaps it was blocked by the util-linux MLM. Did you submit the patch as a plain-text message using git send-email? I sent with git send-email, but apparently I'm having issues with sending to vger.kernel.org, that I'm trying to solve with my ISP. In the meanwhile I sent the patch from a different account, so at least it's there for review. I also sent v2 of this patch to mark the new upstream status. Thanks,
diff --git a/package/util-linux/0001-md5-declare-byteReverse-as-static.patch b/package/util-linux/0001-md5-declare-byteReverse-as-static.patch new file mode 100644 index 000000000000..12f77a906f9e --- /dev/null +++ b/package/util-linux/0001-md5-declare-byteReverse-as-static.patch @@ -0,0 +1,42 @@ +From a02ec53951ea8ac10fef1115f323c0c288596163 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli <luca@lucaceresoli.net> +Date: Mon, 6 Nov 2017 22:58:09 +0100 +Subject: [PATCH] md5: declare byteReverse as static + +byteReverse() is an internal function in md5.c, and is not exposed via +any header file, but it is not declared as static. This is a problem +with the md5.c file since it is copied more or less verbatim in other +programs (fontconfig and pjsip among others), causing a link error +when linking two of them together. + +Fixes link failures such as: + http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/build-end.log + +Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> +--- + lib/md5.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/md5.c b/lib/md5.c +index 488d16ef69b4..282e2d22af25 100644 +--- a/lib/md5.c ++++ b/lib/md5.c +@@ -21,13 +21,13 @@ + #if !defined(WORDS_BIGENDIAN) + #define byteReverse(buf, len) /* Nothing */ + #else +-void byteReverse(unsigned char *buf, unsigned longs); ++static void byteReverse(unsigned char *buf, unsigned longs); + + #ifndef ASM_MD5 + /* + * Note: this code is harmless on little-endian machines. + */ +-void byteReverse(unsigned char *buf, unsigned longs) ++static void byteReverse(unsigned char *buf, unsigned longs) + { + uint32_t t; + do { +-- +2.7.4 +
Several packages have a similar md5.c file, and each has a function named byteReverse(). This generates link errors ("multiple definition of `byteReverse'"). Fix by declaring byteReverse as static, since it is just an internal function. Fixes: http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/ Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Adam Duskett <aduskett@gmail.com> --- I sent this patch upstream more than half an hour ago, but it still hasn't landed on the mailing-list... --- .../0001-md5-declare-byteReverse-as-static.patch | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 package/util-linux/0001-md5-declare-byteReverse-as-static.patch