Date: Thu, 1 Feb 2018 21:09:54 -0700 From: Warner Losh <imp@bsdimp.com> To: Steve Wills <swills@freebsd.org> Cc: Warner Losh <imp@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r328612 - head/lib/libc/stdlib Message-ID: <CANCZdfp=A4cem5h26NxE-D9%2BiOyOLc6JU8NzdPcByts-dZ=A6g@mail.gmail.com> In-Reply-To: <f756b897-0b97-e033-a007-0aa88b0baae6@FreeBSD.org> References: <201801310305.w0V35EU4090569@repo.freebsd.org> <f756b897-0b97-e033-a007-0aa88b0baae6@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 1, 2018 at 8:34 PM, Steve Wills <swills@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@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/svn-src-head >> To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" >> >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfp=A4cem5h26NxE-D9%2BiOyOLc6JU8NzdPcByts-dZ=A6g>