r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Rainer Hurling
If I try to build world almost recent sources (r349100) on HEAD amd64
(r348775), it stops with the following error:


[..snip..]
(cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
PROG=libkern_crc32 )
echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
/usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
.depend.libkern_crc32
cc -target x86_64-unknown-freebsd13.0
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
-DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
-MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
-Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member   -Qunused-arguments   -c
/usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
cc -target x86_64-unknown-freebsd13.0
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
-std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
-Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
-Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
-Wno-unused-local-typedef -Wno-address-of-packed-member
-Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
/usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
ld: error: duplicate symbol: sse42_crc32c
>>> defined at crc32_sse42.c
>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>> defined at crc32_sse42.c
>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [libkern_crc32] Error code 1
make[6]: stopped in /usr/src/tests/sys/kern
1 error
make[6]: stopped in /usr/src/tests/sys/kern
*** [libkern_crc32] Error code 2


This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
II X6 1090T).

Am I the only one, who observes this breakage? Thanks for any hint.

Regards,
Rainer Hurling
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Warner Losh
On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]> wrote:

> If I try to build world almost recent sources (r349100) on HEAD amd64
> (r348775), it stops with the following error:
>
>
> [..snip..]
> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
> PROG=libkern_crc32 )
> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
> .depend.libkern_crc32
> cc -target x86_64-unknown-freebsd13.0
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable
> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
> -Wno-address-of-packed-member   -Qunused-arguments   -c
> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
> cc -target x86_64-unknown-freebsd13.0
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
> -Wno-unused-local-typedef -Wno-address-of-packed-member
> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
> ld: error: duplicate symbol: sse42_crc32c
> >>> defined at crc32_sse42.c
> >>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
> >>> defined at crc32_sse42.c
> >>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
> cc: error: linker command failed with exit code 1 (use -v to see
> invocation)
> *** [libkern_crc32] Error code 1
> make[6]: stopped in /usr/src/tests/sys/kern
> 1 error
> make[6]: stopped in /usr/src/tests/sys/kern
> *** [libkern_crc32] Error code 2
>
>
> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
> II X6 1090T).
>
> Am I the only one, who observes this breakage? Thanks for any hint.
>

Try adding -DWITHOUT_TESTS to buildworld...

Warner


Regards,
> Rainer Hurling
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "[hidden email]"
>
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Rainer Hurling
Am 16.06.19 um 18:33 schrieb Warner Losh:

>
>
> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     If I try to build world almost recent sources (r349100) on HEAD amd64
>     (r348775), it stops with the following error:
>
>
>     [..snip..]
>     (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>     NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>     PROG=libkern_crc32 )
>     echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>     /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>     .depend.libkern_crc32
>     cc -target x86_64-unknown-freebsd13.0
>     --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>     -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>     -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>     -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>     -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>     -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>     -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>     -Wno-string-plus-int -Wno-unused-const-variable
>     -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>     -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>     -Wno-address-of-packed-member   -Qunused-arguments   -c
>     /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>     cc -target x86_64-unknown-freebsd13.0
>     --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>     -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>     -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>     -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>     -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>     -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>     -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>     -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>     -Wno-unused-local-typedef -Wno-address-of-packed-member
>     -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>     libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>     /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>     ld: error: duplicate symbol: sse42_crc32c
>     >>> defined at crc32_sse42.c
>     >>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>     >>> defined at crc32_sse42.c
>     >>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>     cc: error: linker command failed with exit code 1 (use -v to see
>     invocation)
>     *** [libkern_crc32] Error code 1
>     make[6]: stopped in /usr/src/tests/sys/kern
>     1 error
>     make[6]: stopped in /usr/src/tests/sys/kern
>     *** [libkern_crc32] Error code 2
>
>
>     This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>     II X6 1090T).
>
>     Am I the only one, who observes this breakage? Thanks for any hint.
>
>
> Try adding -DWITHOUT_TESTS to buildworld...
>
> Warner
>
>
>     Regards,
>     Rainer Hurling



Many thanks Warner,

With -DWITHOUT_TESTS buildworld was able to finish. Is it secure to also
install it now?

BTW, in Poudriere, the same breakage seems to happen.

Regards,
Rainer
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Trond Endrestøl-2
In reply to this post by Rainer Hurling
On Sun, 16 Jun 2019 17:49+0200, Rainer Hurling wrote:

> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
> II X6 1090T).
>
> Am I the only one, who observes this breakage? Thanks for any hint.

No. This also happens on Intel Core i7 960.

I will retry buildworld using -D WITHOUT_TESTS.

--
Trond.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Bryan Drewery-6
In reply to this post by Rainer Hurling
On 6/16/19 8:49 AM, Rainer Hurling wrote:

> If I try to build world almost recent sources (r349100) on HEAD amd64
> (r348775), it stops with the following error:
>
>
> [..snip..]
> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
> PROG=libkern_crc32 )
> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
> .depend.libkern_crc32
> cc -target x86_64-unknown-freebsd13.0
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable
> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
> -Wno-address-of-packed-member   -Qunused-arguments   -c
> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
> cc -target x86_64-unknown-freebsd13.0
> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
> -Wno-unused-local-typedef -Wno-address-of-packed-member
> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
Hmm /usr/src/sys/libkern/x86/crc32_sse42.c is listed twice unless I'm
reading it wrong. It's from an LDADD. I'm looking into it a bit more...

> ld: error: duplicate symbol: sse42_crc32c
>>>> defined at crc32_sse42.c
>>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>>> defined at crc32_sse42.c
>>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> *** [libkern_crc32] Error code 1
> make[6]: stopped in /usr/src/tests/sys/kern
> 1 error
> make[6]: stopped in /usr/src/tests/sys/kern
> *** [libkern_crc32] Error code 2
>
>
> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
> II X6 1090T).
>
> Am I the only one, who observes this breakage? Thanks for any hint.
>
> Regards,
> Rainer Hurling
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "[hidden email]"
>

--
Regards,
Bryan Drewery


signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Bryan Drewery-6
In reply to this post by Warner Losh
On 6/16/19 9:33 AM, Warner Losh wrote:

> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]> wrote:
>
>> If I try to build world almost recent sources (r349100) on HEAD amd64
>> (r348775), it stops with the following error:
>>
>>
>> [..snip..]
>> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>> PROG=libkern_crc32 )
>> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>> .depend.libkern_crc32
>> cc -target x86_64-unknown-freebsd13.0
>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>> -Wno-string-plus-int -Wno-unused-const-variable
>> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>> -Wno-address-of-packed-member   -Qunused-arguments   -c
>> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>> cc -target x86_64-unknown-freebsd13.0
>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>> -Wno-unused-local-typedef -Wno-address-of-packed-member
>> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>> ld: error: duplicate symbol: sse42_crc32c
>>>>> defined at crc32_sse42.c
>>>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>>>> defined at crc32_sse42.c
>>>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>> cc: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> *** [libkern_crc32] Error code 1
>> make[6]: stopped in /usr/src/tests/sys/kern
>> 1 error
>> make[6]: stopped in /usr/src/tests/sys/kern
>> *** [libkern_crc32] Error code 2
>>
>>
>> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>> II X6 1090T).
>>
>> Am I the only one, who observes this breakage? Thanks for any hint.
>>
>
> Try adding -DWITHOUT_TESTS to buildworld...
>
> Warner
>
~/git/freebsd2/tests/sys/kern # env|grep TEST
MK_TESTS=no


Doh. Turns out I've had TESTS disabled in some of my recent build tests
/ commits. This is likely my fault.



--
Regards,
Bryan Drewery


signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Bryan Drewery-6
On 6/19/19 11:02 AM, Bryan Drewery wrote:

> On 6/16/19 9:33 AM, Warner Losh wrote:
>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]> wrote:
>>
>>> If I try to build world almost recent sources (r349100) on HEAD amd64
>>> (r348775), it stops with the following error:
>>>
>>>
>>> [..snip..]
>>> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>>> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>>> PROG=libkern_crc32 )
>>> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>>> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>>> .depend.libkern_crc32
>>> cc -target x86_64-unknown-freebsd13.0
>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>>> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>>> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>>> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>>> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>>> -Wno-string-plus-int -Wno-unused-const-variable
>>> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>>> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>>> -Wno-address-of-packed-member   -Qunused-arguments   -c
>>> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>>> cc -target x86_64-unknown-freebsd13.0
>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>>> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>>> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>>> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>>> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>>> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>>> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>>> -Wno-unused-local-typedef -Wno-address-of-packed-member
>>> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>>> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>> ld: error: duplicate symbol: sse42_crc32c
>>>>>> defined at crc32_sse42.c
>>>>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>>>>> defined at crc32_sse42.c
>>>>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>>> cc: error: linker command failed with exit code 1 (use -v to see
>>> invocation)
>>> *** [libkern_crc32] Error code 1
>>> make[6]: stopped in /usr/src/tests/sys/kern
>>> 1 error
>>> make[6]: stopped in /usr/src/tests/sys/kern
>>> *** [libkern_crc32] Error code 2
>>>
>>>
>>> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>>> II X6 1090T).
>>>
>>> Am I the only one, who observes this breakage? Thanks for any hint.
>>>
>>
>> Try adding -DWITHOUT_TESTS to buildworld...
>>
>> Warner
>>
>
> ~/git/freebsd2/tests/sys/kern # env|grep TEST
> MK_TESTS=no
>
>
> Doh. Turns out I've had TESTS disabled in some of my recent build tests
> / commits. This is likely my fault.
>
Yup it is from my r349065.

It's an ambiguity between LDADD.<PROG_TARGET> and my newly added
LDADD.<compile target>.

LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c

So it's added in twice.


--
Regards,
Bryan Drewery


signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Bryan Drewery-6
On 6/19/19 11:05 AM, Bryan Drewery wrote:

> On 6/19/19 11:02 AM, Bryan Drewery wrote:
>> On 6/16/19 9:33 AM, Warner Losh wrote:
>>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]> wrote:
>>>
>>>> If I try to build world almost recent sources (r349100) on HEAD amd64
>>>> (r348775), it stops with the following error:
>>>>
>>>>
>>>> [..snip..]
>>>> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>>>> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>>>> PROG=libkern_crc32 )
>>>> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>>>> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>>>> .depend.libkern_crc32
>>>> cc -target x86_64-unknown-freebsd13.0
>>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>>>> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>>>> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>>>> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>>>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>>>> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>>>> -Wno-string-plus-int -Wno-unused-const-variable
>>>> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>>>> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>>>> -Wno-address-of-packed-member   -Qunused-arguments   -c
>>>> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>>>> cc -target x86_64-unknown-freebsd13.0
>>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>>>> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>>>> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>>>> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>>>> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>>>> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>>>> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>>>> -Wno-unused-local-typedef -Wno-address-of-packed-member
>>>> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>>>> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>>> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>>> ld: error: duplicate symbol: sse42_crc32c
>>>>>>> defined at crc32_sse42.c
>>>>>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>>>>>> defined at crc32_sse42.c
>>>>>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>>>> cc: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>> *** [libkern_crc32] Error code 1
>>>> make[6]: stopped in /usr/src/tests/sys/kern
>>>> 1 error
>>>> make[6]: stopped in /usr/src/tests/sys/kern
>>>> *** [libkern_crc32] Error code 2
>>>>
>>>>
>>>> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>>>> II X6 1090T).
>>>>
>>>> Am I the only one, who observes this breakage? Thanks for any hint.
>>>>
>>>
>>> Try adding -DWITHOUT_TESTS to buildworld...
>>>
>>> Warner
>>>
>>
>> ~/git/freebsd2/tests/sys/kern # env|grep TEST
>> MK_TESTS=no
>>
>>
>> Doh. Turns out I've had TESTS disabled in some of my recent build tests
>> / commits. This is likely my fault.
>>
>
> Yup it is from my r349065.
>
> It's an ambiguity between LDADD.<PROG_TARGET> and my newly added
> LDADD.<compile target>.
>
> LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
>
> So it's added in twice.
>
>
This should be fixed in r349202. Sorry for the trouble.

--
Regards,
Bryan Drewery


signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

Rainer Hurling
Am 19.06.19 um 21:20 schrieb Bryan Drewery:

> On 6/19/19 11:05 AM, Bryan Drewery wrote:
>> On 6/19/19 11:02 AM, Bryan Drewery wrote:
>>> On 6/16/19 9:33 AM, Warner Losh wrote:
>>>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <[hidden email]> wrote:
>>>>
>>>>> If I try to build world almost recent sources (r349100) on HEAD amd64
>>>>> (r348775), it stops with the following error:
>>>>>
>>>>>
>>>>> [..snip..]
>>>>> (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>>>>> NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>>>>> PROG=libkern_crc32 )
>>>>> echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>>>>> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>>>>> .depend.libkern_crc32
>>>>> cc -target x86_64-unknown-freebsd13.0
>>>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>>>>> -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>>>>> -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>>>>> -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>>>>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>>>>> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>>>>> -Wno-string-plus-int -Wno-unused-const-variable
>>>>> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>>>>> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>>>>> -Wno-address-of-packed-member   -Qunused-arguments   -c
>>>>> /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>>>>> cc -target x86_64-unknown-freebsd13.0
>>>>> --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>>>>> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>>>>> -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>>>>> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>>>>> -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>>>>> -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>>>>> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>>>>> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>>>>> -Wno-unused-local-typedef -Wno-address-of-packed-member
>>>>> -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>>>>> libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>>>> /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>>>>> ld: error: duplicate symbol: sse42_crc32c
>>>>>>>> defined at crc32_sse42.c
>>>>>>>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>>>>>>>> defined at crc32_sse42.c
>>>>>>>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>>>>> cc: error: linker command failed with exit code 1 (use -v to see
>>>>> invocation)
>>>>> *** [libkern_crc32] Error code 1
>>>>> make[6]: stopped in /usr/src/tests/sys/kern
>>>>> 1 error
>>>>> make[6]: stopped in /usr/src/tests/sys/kern
>>>>> *** [libkern_crc32] Error code 2
>>>>>
>>>>>
>>>>> This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>>>>> II X6 1090T).
>>>>>
>>>>> Am I the only one, who observes this breakage? Thanks for any hint.
>>>>>
>>>>
>>>> Try adding -DWITHOUT_TESTS to buildworld...
>>>>
>>>> Warner
>>>>
>>>
>>> ~/git/freebsd2/tests/sys/kern # env|grep TEST
>>> MK_TESTS=no
>>>
>>>
>>> Doh. Turns out I've had TESTS disabled in some of my recent build tests
>>> / commits. This is likely my fault.
>>>
>>
>> Yup it is from my r349065.
>>
>> It's an ambiguity between LDADD.<PROG_TARGET> and my newly added
>> LDADD.<compile target>.
>>
>> LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
>>
>> So it's added in twice.
>>
>>
>
> This should be fixed in r349202. Sorry for the trouble.
>

Many thanks for this fix. It works fine for me on the box with Intel
Core 17-4770, but it fails on AMD Phenom II X6 1090T (both systems
mentioned in the initial mail):


[..snip..]
c++  -target x86_64-unknown-freebsd13.0
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
-I/usr/src/contrib/llvm/tools/lldb/include
-I/usr/src/contrib/llvm/tools/lldb/source
-I/usr/src/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD
-I/usr/src/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX
-I/usr/src/contrib/llvm/tools/lldb/source/Plugins/Process/Utility
-I/usr/obj/usr/src/amd64.amd64/lib/clang/libllvm
-I/usr/obj/usr/src/amd64.amd64/lib/clang/libclang -DLLDB_DISABLE_PYTHON
-I/usr/src/contrib/llvm/tools/clang/include -DCLANG_ENABLE_ARCMT
-DCLANG_ENABLE_STATIC_ANALYZER -I/usr/src/lib/clang/include
-I/usr/src/contrib/llvm/include -DLLVM_BUILD_GLOBAL_ISEL
-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
-DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknown-freebsd13.0\"
-DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd13.0\" -DDEFAULT_SYSROOT=\"\"
-DLLVM_TARGET_ENABLE_X86
-DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser
-DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter
-DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler
-DLLVM_NATIVE_TARGET=LLVMInitializeX86Target
-DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo
-DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC -ffunction-sections
-fdata-sections -MD
-MF.depend.Plugins_SymbolFile_DWARF_DWARFDebugRanges.o
-MTPlugins/SymbolFile/DWARF/DWARFDebugRanges.o -fstack-protector-strong
-Qunused-arguments  -fno-exceptions -fno-rtti -std=c++11 -stdlib=libc++
-Wno-c++11-extensions   -c
/usr/src/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
-o Plugins/SymbolFile/DWARF/DWARFDebugRanges.o
Value still in symbol table! Type = 'c++: error: unable to execute
command: Segmentation fault (core dumped)
c++: error: clang frontend command failed due to signal (use -v to see
invocation)
FreeBSD clang version 8.0.1 (branches/release_80 363030) (based on LLVM
8.0.1)
Target: x86_64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg: PLEASE submit a bug report to
https://bugs.freebsd.org/submit/ and include the crash backtrace,
preprocessed source, and associated run script.
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/DWARFDebugRanges-baf338.cpp
c++: note: diagnostic msg: /tmp/DWARFDebugRanges-baf338.sh
c++: note: diagnostic msg:

********************
*** [Plugins/SymbolFile/DWARF/DWARFDebugRanges.o] Error code 254

make[6]: stopped in /usr/src/lib/clang/liblldb
1 error

make[6]: stopped in /usr/src/lib/clang/liblldb
*** [all_subdir_lib/clang/liblldb] Error code 2


This seems to be not a problem with the test builds, but more likely
something with lldb? If someone is interested, I also could send the
/tmp/DWARFDebugRanges-baf338.* files.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[hidden email]"