This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] uClibc: fix darwin build


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

Attachment: 0xBC2469C7.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]