From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id 8AAA33858D3C for ; Fri, 18 Mar 2022 14:49:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8AAA33858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy06.your-server.de ([78.46.172.3]) by dedi548.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1nVDuv-000AeT-Pg for newlib@sourceware.org; Fri, 18 Mar 2022 15:49:26 +0100 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy06.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nVDuv-000ADC-Mz for newlib@sourceware.org; Fri, 18 Mar 2022 15:49:25 +0100 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 64348480131 for ; Fri, 18 Mar 2022 15:49:25 +0100 (CET) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id HHrka5zxaXyO for ; Fri, 18 Mar 2022 15:49:25 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id E6D5A480111 for ; Fri, 18 Mar 2022 15:49:24 +0100 (CET) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 63ufGng--5DI for ; Fri, 18 Mar 2022 15:49:24 +0100 (CET) Received: from [10.10.171.14] (unknown [10.10.171.14]) by mail.embedded-brains.de (Postfix) with ESMTPSA id AF3304800A8 for ; Fri, 18 Mar 2022 15:49:24 +0100 (CET) Message-ID: <2955930f-2207-2a2a-310c-5458b399794c@embedded-brains.de> Date: Fri, 18 Mar 2022 15:49:22 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Content-Language: en-US To: Newlib From: Sebastian Huber Subject: ucsconv.c:66: undefined reference to `_iconv_to_ucs_ces' Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.5/26485/Fri Mar 18 09:26:47 2022) X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2022 14:49:29 -0000 Hello, we have a couple of tests in RTEMS which use iconv functions. I get a=20 linker error with the recent Newlib, for example: [1621/4384] Linking=20 /tmp/sh/b-rtems/arm/fvp_cortex_r52/testsuites/fstests/fsdosfsname01.exe /opt/rtems/7/lib/gcc/arm-rtems7/12.0.1/../../../../arm-rtems7/bin/ld:=20 /opt/rtems/7/lib/gcc/arm-rtems7/12.0.1/../../../../arm-rtems7/lib/thumb/c= ortex-r52/hard/libc.a(libc_a-ucsconv.o):=20 in function `ucs_based_conversion_open': /home/EB/sebastian_h/src/rtems-source-builder/rtems/build/arm-rtems7-gcc-= e9ea301-newlib-d88cbd0-x86_64-linux-gnu-1/build/arm-rtems7/thumb/cortex-r= 52/hard/newlib/../../../../../../gnu-mirror-gcc-e9ea301/newlib/libc/iconv= /lib/ucsconv.c:66:=20 undefined reference to `_iconv_to_ucs_ces' /opt/rtems/7/lib/gcc/arm-rtems7/12.0.1/../../../../arm-rtems7/bin/ld:=20 /home/EB/sebastian_h/src/rtems-source-builder/rtems/build/arm-rtems7-gcc-= e9ea301-newlib-d88cbd0-x86_64-linux-gnu-1/build/arm-rtems7/thumb/cortex-r= 52/hard/newlib/../../../../../../gnu-mirror-gcc-e9ea301/newlib/libc/iconv= /lib/ucsconv.c:66:=20 undefined reference to `_iconv_to_ucs_ces' /opt/rtems/7/lib/gcc/arm-rtems7/12.0.1/../../../../arm-rtems7/bin/ld:=20 /home/EB/sebastian_h/src/rtems-source-builder/rtems/build/arm-rtems7-gcc-= e9ea301-newlib-d88cbd0-x86_64-linux-gnu-1/build/arm-rtems7/thumb/cortex-r= 52/hard/newlib/../../../../../../gnu-mirror-gcc-e9ea301/newlib/libc/iconv= /lib/ucsconv.c:78:=20 undefined reference to `_iconv_from_ucs_ces' /opt/rtems/7/lib/gcc/arm-rtems7/12.0.1/../../../../arm-rtems7/bin/ld:=20 /home/EB/sebastian_h/src/rtems-source-builder/rtems/build/arm-rtems7-gcc-= e9ea301-newlib-d88cbd0-x86_64-linux-gnu-1/build/arm-rtems7/thumb/cortex-r= 52/hard/newlib/../../../../../../gnu-mirror-gcc-e9ea301/newlib/libc/iconv= /lib/ucsconv.c:78:=20 undefined reference to `_iconv_from_ucs_ces' Previously, we had in a Makefile.am this: diff --git a/newlib/libc/iconv/ces/Makefile.am=20 b/newlib/libc/iconv/ces/Makefile.am deleted file mode 100644 index f59401305..000000000 --- a/newlib/libc/iconv/ces/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -## Process this file with automake to generate Makefile.in - -AM_CPPFLAGS =3D $(NEWLIB_CFLAGS) $(TARGET_CFLAGS) - -GENERAL_SOURCES =3D \ - utf-8.c \ - utf-16.c \ - ucs-2.c \ - us-ascii.c \ - ucs-4.c \ - ucs-2-internal.c \ - ucs-4-internal.c \ - cesbi.c \ - table.c \ - table-pcs.c \ - euc.c - -## The following interfaces are EL/IX level 2 -if ELIX_LEVEL_1 -ELIX_SOURCES =3D \ - utf-8.c \ - utf-16.c \ - ucs-2.c \ - us-ascii.c \ - ucs-4.c \ - ucs-2-internal.c \ - ucs-4-internal.c \ - cesbi.c \ - table.c \ - table-pcs.c \ - euc.c -else -ELIX_SOURCES =3D -endif - -noinst_LIBRARIES =3D lib.a -lib_a_SOURCES =3D $(GENERAL_SOURCES) $(ELIX_SOURCES) -lib_a_CFLAGS =3D $(AM_CFLAGS) This was replaced by: diff --git a/newlib/libc/iconv/ces/Makefile.inc=20 b/newlib/libc/iconv/ces/Makefile.inc new file mode 100644 index 000000000..6fb933970 --- /dev/null +++ b/newlib/libc/iconv/ces/Makefile.inc @@ -0,0 +1,19 @@ +if ENABLE_NEWLIB_ICONV + +## The following interfaces are EL/IX level 2 +if ELIX_LEVEL_1 +libc_a_SOURCES +=3D \ + %D%/utf-8.c \ + %D%/utf-16.c \ + %D%/ucs-2.c \ + %D%/us-ascii.c \ + %D%/ucs-4.c \ + %D%/ucs-2-internal.c \ + %D%/ucs-4-internal.c \ + %D%/cesbi.c \ + %D%/table.c \ + %D%/table-pcs.c \ + %D%/euc.c +endif + +endif I have no idea what this ELIX_LEVEL_1 stuff is supposed to do. In=20 particular, I don't understand the previous Makefile.am: lib_a_SOURCES =3D $(GENERAL_SOURCES) $(ELIX_SOURCES) It seems the source files end up in lib_a_SOURCES at least once no=20 matter how ELIX_LEVEL_1 is defined. This is no longer the case for the Makefile.inc variant. This=20 contradicts a bit with the new newlib/libc/iconv/lib/Makefile.inc: if ENABLE_NEWLIB_ICONV libc_a_SOURCES +=3D \ %D%/aliasesi.c \ %D%/ucsconv.c \ %D%/nullconv.c \ %D%/iconv.c \ %D%/aliasesbi.c \ %D%/iconvnls.c ## The following interfaces are EL/IX level 2 if !ELIX_LEVEL_1 libc_a_SOURCES +=3D \ %D%/aliasesi.c \ %D%/ucsconv.c \ %D%/nullconv.c \ %D%/iconv.c \ %D%/aliasesbi.c \ %D%/iconvnls.c endif endif LIBC_CHEWOUT_FILES +=3D %D%/iconv.def Here, the files are also added at least once to libc_a_SOURCES (if=20 ENABLE_NEWLIB_ICONV is true). Should be just remove this ELIX_LEVEL_1 handling in the iconv directory? --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/