svn commit: r328612 - head/lib/libc/stdlib

Warner Losh imp at bsdimp.com
Fri Feb 2 04:09:57 UTC 2018


On Thu, Feb 1, 2018 at 8:34 PM, Steve Wills <swills at freebsd.org> wrote:

> This, somehow, seems to have broken the mips64 build:
>
> https://ci.freebsd.org/job/FreeBSD-head-mips64-build/216/consoleFull
>
> The previous rev works.
>

This breaks devd, of all things, with

/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In
function `__gedf2':
/usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:96: multiple
definition of `__gedf2'
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(gedf2.o):/usr/src/lib/libc/softfloat/gedf2.c:18:
first defined here
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In
function `__eqdf2':
/usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:126: multiple
definition of `__eqdf2'
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(eqdf2.o):/usr/src/lib/libc/softfloat/eqdf2.c:18:
first defined here
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In
function `__ltdf2':
/usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:131: multiple
definition of `__ltdf2'
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(ltdf2.o):/usr/src/lib/libc/softfloat/ltdf2.c:18:
first defined here
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In
function `__nedf2':
/usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:136: multiple
definition of `__nedf2'
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(nedf2.o):/usr/src/lib/libc/softfloat/nedf2.c:18:
first defined here
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In
function `__gtdf2':
/usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:141: multiple
definition of `__gtdf2'
/usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(gtdf2.o):/usr/src/lib/libc/softfloat/gtdf2.c:18:
first defined here

undefined.... devd doesn't even use strtodl.

(looks like the code to associate make output with the right commands is
broken, since I had to dig for it.

Warner


> Steve
>
>
> On 01/30/2018 22:05, Warner Losh wrote:
>
>> Author: imp
>> Date: Wed Jan 31 03:05:14 2018
>> New Revision: 328612
>> URL: https://svnweb.freebsd.org/changeset/base/328612
>>
>> Log:
>>    Move strtold wrapper from strtol.c to its own strtold.c.  This code
>>    was written by theraven@ (David Chisnall) entirely, there's no
>>    original Berkeley code left here so just copy his copyright over.
>>
>> Added:
>>    head/lib/libc/stdlib/strtold.c   (contents, props changed)
>> Modified:
>>    head/lib/libc/stdlib/Makefile.inc
>>    head/lib/libc/stdlib/strtol.c
>>
>> Modified: head/lib/libc/stdlib/Makefile.inc
>> ============================================================
>> ==================
>> --- head/lib/libc/stdlib/Makefile.inc   Wed Jan 31 01:04:36 2018
>> (r328611)
>> +++ head/lib/libc/stdlib/Makefile.inc   Wed Jan 31 03:05:14 2018
>> (r328612)
>> @@ -15,7 +15,7 @@ MISRCS+=C99_Exit.c a64l.c abort.c abs.c atexit.c atof.
>>         radixsort.c rand.c \
>>         random.c reallocarray.c reallocf.c realpath.c remque.c \
>>         set_constraint_handler_s.c strfmon.c strtoimax.c \
>> -       strtol.c strtoll.c strtoq.c strtoul.c strtonum.c strtoull.c \
>> +       strtol.c strtold.c strtoll.c strtoq.c strtoul.c strtonum.c
>> strtoull.c \
>>           strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c
>> twalk.c
>>     # Work around an issue on case-insensitive file systems.
>>
>> Modified: head/lib/libc/stdlib/strtol.c
>> ============================================================
>> ==================
>> --- head/lib/libc/stdlib/strtol.c       Wed Jan 31 01:04:36 2018
>> (r328611)
>> +++ head/lib/libc/stdlib/strtol.c       Wed Jan 31 03:05:14 2018
>> (r328612)
>> @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$");
>>   #include <stdlib.h>
>>   #include "xlocale_private.h"
>>   -
>>   /*
>>    * Convert a string to a long integer.
>>    *
>> @@ -152,9 +151,4 @@ long
>>   strtol(const char * __restrict nptr, char ** __restrict endptr, int
>> base)
>>   {
>>         return strtol_l(nptr, endptr, base, __get_locale());
>> -}
>> -long double
>> -strtold(const char * __restrict nptr, char ** __restrict endptr)
>> -{
>> -       return strtold_l(nptr, endptr, __get_locale());
>>   }
>>
>> Added: head/lib/libc/stdlib/strtold.c
>> ============================================================
>> ==================
>> --- /dev/null   00:00:00 1970   (empty, because file is newly added)
>> +++ head/lib/libc/stdlib/strtold.c      Wed Jan 31 03:05:14 2018
>> (r328612)
>> @@ -0,0 +1,45 @@
>> +/*-
>> + * SPDX-License-Identifier: BSD-3-Clause
>> + *
>> + * Copyright (c) 2011 The FreeBSD Foundation
>> + * All rights reserved.
>> + * Portions of this software were developed by David Chisnall
>> + * under sponsorship from the FreeBSD Foundation.
>> + *
>> + * Redistribution and use in source and binary forms, with or without
>> + * modification, are permitted provided that the following conditions
>> + * are met:
>> + * 1. Redistributions of source code must retain the above copyright
>> + *    notice, this list of conditions and the following disclaimer.
>> + * 2. Redistributions in binary form must reproduce the above copyright
>> + *    notice, this list of conditions and the following disclaimer in the
>> + *    documentation and/or other materials provided with the
>> distribution.
>> + * 3. Neither the name of the University nor the names of its
>> contributors
>> + *    may be used to endorse or promote products derived from this
>> software
>> + *    without specific prior written permission.
>> + *
>> + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
>> AND
>> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
>> PURPOSE
>> + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
>> LIABLE
>> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
>> CONSEQUENTIAL
>> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
>> GOODS
>> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
>> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
>> STRICT
>> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
>> WAY
>> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>> + * SUCH DAMAGE.
>> + */
>> +
>> +#include <sys/cdefs.h>
>> +__FBSDID("$FreeBSD$");
>> +
>> +#include <stdlib.h>
>> +#include "xlocale_private.h"
>> +
>> +long double
>> +strtold(const char * __restrict nptr, char ** __restrict endptr)
>> +{
>> +
>> +       return strtold_l(nptr, endptr, __get_locale());
>> +}
>> _______________________________________________
>> svn-src-head at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/svn-src-head
>> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>>
>>


More information about the svn-src-head mailing list