Message ID | 1414250961-7975-1-git-send-email-andreas@biessmann.de |
---|---|
State | Rejected, archived |
Headers | show |
Please review me On 25.10.14 17:29, Andreas Bießmann wrote: > uClibc's unifdef tool declares strlcpy(3) which is problematic on OS X. There > (and probably on other systems) strlcpy(3) is defined as a macro, re-declaring > it here will fail cause the macro expansion will generate an invalid function > name. > The declaration of strlcpy(3) is however useless cause it is never used in the > tool. Also upstream patch 2a021ae81c36f4281883a3195f7ce81504edf978 will remove > it. Using that patch here is overkill, cause it rewrites a lot of the > unifdef.c code. > > Signed-off-by: Andreas Bießmann <andreas@biessmann.de> > Cc: Yann E. MORIN <yann.morin.1998@free.fr> > --- > patches/uClibc/0.9.33.2/300-fix-darwin-build.patch | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > create mode 100644 patches/uClibc/0.9.33.2/300-fix-darwin-build.patch > > diff --git a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch > new file mode 100644 > index 0000000..884307d > --- /dev/null > +++ b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch > @@ -0,0 +1,12 @@ > +diff -Nrupa uClibc-0.9.33.2.orig/extra/scripts/unifdef.c uClibc-0.9.33.2/extra/scripts/unifdef.c > +--- uClibc-0.9.33.2.orig/extra/scripts/unifdef.c 2012-05-15 09:20:09.000000000 +0200 > ++++ uClibc-0.9.33.2/extra/scripts/unifdef.c 2014-10-25 17:07:33.000000000 +0200 > +@@ -78,8 +78,6 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/ > + #define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); }) > + #define err(exit_code, fmt, args...) errx(exit_code, fmt ": %s", ## args, strerror(errno)) > + > +-size_t strlcpy(char *dst, const char *src, size_t siz); > +- > + /* types of input lines: */ > + typedef enum { > + LT_TRUEI, /* a true #if with ignore flag */ >
Andreas, On Sat, Dec 6, 2014 at 9:10 AM, Andreas Bießmann <andreas@biessmann.de> wrote: > Please review me > > On 25.10.14 17:29, Andreas Bießmann wrote: >> uClibc's unifdef tool declares strlcpy(3) which is problematic on OS X. There >> (and probably on other systems) strlcpy(3) is defined as a macro, re-declaring >> it here will fail cause the macro expansion will generate an invalid function >> name. >> The declaration of strlcpy(3) is however useless cause it is never used in the >> tool. Also upstream patch 2a021ae81c36f4281883a3195f7ce81504edf978 will remove >> it. Using that patch here is overkill, cause it rewrites a lot of the >> unifdef.c code. >> >> Signed-off-by: Andreas Bießmann <andreas@biessmann.de> >> Cc: Yann E. MORIN <yann.morin.1998@free.fr> >> --- >> patches/uClibc/0.9.33.2/300-fix-darwin-build.patch | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> create mode 100644 patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >> >> diff --git a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >> new file mode 100644 >> index 0000000..884307d >> --- /dev/null >> +++ b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >> @@ -0,0 +1,12 @@ >> +diff -Nrupa uClibc-0.9.33.2.orig/extra/scripts/unifdef.c uClibc-0.9.33.2/extra/scripts/unifdef.c >> +--- uClibc-0.9.33.2.orig/extra/scripts/unifdef.c 2012-05-15 09:20:09.000000000 +0200 >> ++++ uClibc-0.9.33.2/extra/scripts/unifdef.c 2014-10-25 17:07:33.000000000 +0200 >> +@@ -78,8 +78,6 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/ >> + #define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); }) >> + #define err(exit_code, fmt, args...) errx(exit_code, fmt ": %s", ## args, strerror(errno)) >> + >> +-size_t strlcpy(char *dst, const char *src, size_t siz); >> +- >> + /* types of input lines: */ >> + typedef enum { >> + LT_TRUEI, /* a true #if with ignore flag */ >> Have you tried to get this patch upstream in uclibc? -Bryan -- For unsubscribe information see http://sourceware.org/lists.html#faq
Dear Bryan, On 07.12.14 06:20, Bryan Hundven wrote: > Andreas, > > On Sat, Dec 6, 2014 at 9:10 AM, Andreas Bießmann <andreas@biessmann.de> wrote: >> Please review me >> >> On 25.10.14 17:29, Andreas Bießmann wrote: >>> uClibc's unifdef tool declares strlcpy(3) which is problematic on OS X. There >>> (and probably on other systems) strlcpy(3) is defined as a macro, re-declaring >>> it here will fail cause the macro expansion will generate an invalid function >>> name. >>> The declaration of strlcpy(3) is however useless cause it is never used in the >>> tool. Also upstream patch 2a021ae81c36f4281883a3195f7ce81504edf978 will remove >>> it. Using that patch here is overkill, cause it rewrites a lot of the >>> unifdef.c code. >>> >>> Signed-off-by: Andreas Bießmann <andreas@biessmann.de> >>> Cc: Yann E. MORIN <yann.morin.1998@free.fr> >>> --- >>> patches/uClibc/0.9.33.2/300-fix-darwin-build.patch | 12 ++++++++++++ >>> 1 file changed, 12 insertions(+) >>> create mode 100644 patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >>> >>> diff --git a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >>> new file mode 100644 >>> index 0000000..884307d >>> --- /dev/null >>> +++ b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch >>> @@ -0,0 +1,12 @@ >>> +diff -Nrupa uClibc-0.9.33.2.orig/extra/scripts/unifdef.c uClibc-0.9.33.2/extra/scripts/unifdef.c >>> +--- uClibc-0.9.33.2.orig/extra/scripts/unifdef.c 2012-05-15 09:20:09.000000000 +0200 >>> ++++ uClibc-0.9.33.2/extra/scripts/unifdef.c 2014-10-25 17:07:33.000000000 +0200 >>> +@@ -78,8 +78,6 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/ >>> + #define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); }) >>> + #define err(exit_code, fmt, args...) errx(exit_code, fmt ": %s", ## args, strerror(errno)) >>> + >>> +-size_t strlcpy(char *dst, const char *src, size_t siz); >>> +- >>> + /* types of input lines: */ >>> + typedef enum { >>> + LT_TRUEI, /* a true #if with ignore flag */ >>> > > Have you tried to get this patch upstream in uclibc? as stated in commit message this change is part of 2a021ae81c36f4281883a3195f7ce81504edf978 upstream [1]. Unfortunately that patch is way more intrusive, therefore I choose the remove of that line in favour of adding all the changes 2a021ae81c36f4281883a3195f7ce81504edf978 introduces. Best regards Andreas Bießmann [1] http://git.uclibc.org/uClibc/diff/extra/scripts/unifdef.c?id=2a021ae81c36f4281883a3195f7ce81504edf978
diff --git a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch new file mode 100644 index 0000000..884307d --- /dev/null +++ b/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch @@ -0,0 +1,12 @@ +diff -Nrupa uClibc-0.9.33.2.orig/extra/scripts/unifdef.c uClibc-0.9.33.2/extra/scripts/unifdef.c +--- uClibc-0.9.33.2.orig/extra/scripts/unifdef.c 2012-05-15 09:20:09.000000000 +0200 ++++ uClibc-0.9.33.2/extra/scripts/unifdef.c 2014-10-25 17:07:33.000000000 +0200 +@@ -78,8 +78,6 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/ + #define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); }) + #define err(exit_code, fmt, args...) errx(exit_code, fmt ": %s", ## args, strerror(errno)) + +-size_t strlcpy(char *dst, const char *src, size_t siz); +- + /* types of input lines: */ + typedef enum { + LT_TRUEI, /* a true #if with ignore flag */
uClibc's unifdef tool declares strlcpy(3) which is problematic on OS X. There (and probably on other systems) strlcpy(3) is defined as a macro, re-declaring it here will fail cause the macro expansion will generate an invalid function name. The declaration of strlcpy(3) is however useless cause it is never used in the tool. Also upstream patch 2a021ae81c36f4281883a3195f7ce81504edf978 will remove it. Using that patch here is overkill, cause it rewrites a lot of the unifdef.c code. Signed-off-by: Andreas Bießmann <andreas@biessmann.de> Cc: Yann E. MORIN <yann.morin.1998@free.fr> --- patches/uClibc/0.9.33.2/300-fix-darwin-build.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 patches/uClibc/0.9.33.2/300-fix-darwin-build.patch