From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id 99F0B3858C83; Mon, 7 Feb 2022 22:59:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 99F0B3858C83 Received: by mail-pf1-x42e.google.com with SMTP id i186so15660064pfe.0; Mon, 07 Feb 2022 14:59:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pRlZc/Vt310djWsSkeeejiDSXoqj20ZoFWlCwKMME7s=; b=xznmBfVj3zhS5m5OM4Z7IB3oCkoVW2gwgZdrH+RalrdaP2YZz+F2VTYoBLYUe+fZQE NcS6f09skfN+mBexe0ThhRKie4AJCdIOMdDNnfCxOUyKtLIEcnYl+nXQ6NhhRMOeU68P VIKvsih++HX7Z6yho32W6/FI9JU8FV9O5hadAbtOzzy/n7vV+TWyTze+MDFQwmtwaNt+ vbH1FFE0neJLUZkmVfH9uFUoKDpI1KRxCrhPma286h6tdNrY7/KGgzlBObQMsSPuh90H 2IWdsW1P07C1UuNqRjY3ivwyktnmE/kmIIAaheGCmemWWq+M0SSOJkAWlZdx2kNYXaCu oN4w== X-Gm-Message-State: AOAM533IDm6p0N4WJnbEs2nLro1JuT9nL58NjqWQdVzkT21svPlMvNR+ v7XQFuw5Cmi7HZmbh8btbOjZGRCitwOSk89JbJk= X-Google-Smtp-Source: ABdhPJz1eX7j/arPDtEmQTep8JFkl3RdhCdRWUnTN9tkGQhqkdHHbbnAttwxb3DVP9NGqHwI4FRZnlW90TZ/LKwsVBM= X-Received: by 2002:a65:414a:: with SMTP id x10mr1248881pgp.125.1644274795563; Mon, 07 Feb 2022 14:59:55 -0800 (PST) MIME-Version: 1.0 References: <2c31877a-ae19-8e6a-e99f-e2f687df89fd@linaro.org> <94cd37dd-d6a3-0811-829d-a9d41d2cad41@linaro.org> In-Reply-To: <94cd37dd-d6a3-0811-829d-a9d41d2cad41@linaro.org> From: "H.J. Lu" Date: Mon, 7 Feb 2022 14:59:19 -0800 Message-ID: Subject: Re: cross-toolchain for x86 fails to compile To: Adhemerval Zanella Cc: Waldemar Brodkorb , Siddhesh Poyarekar , Libc-help Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3020.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, 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: libc-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2022 22:59:58 -0000 On Mon, Feb 7, 2022 at 9:08 AM Adhemerval Zanella wrote: > > > > On 07/02/2022 12:16, Waldemar Brodkorb wrote: > > Hi, > > Adhemerval Zanella wrote, > > > >> > >> > >> On 04/02/2022 21:35, Waldemar Brodkorb wrote: > >>> Hi, > >>> > >>> I am doing my regular update in OpenADK and updated to glibc 2.35. > >>> All toolchains are build fine except x86. > >>> > >>> I am getting following error with binutils 2.37 and gcc 11.2: > >>> /home/wbx/embedded-test/openadk/toolchain_qemu-x86_glibc/usr/bin/i686-openadk-linux-gnu-gcc > >>> -o > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/support/test-run-command > >>> -nostdlib -nostartfiles -static -static-pie > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/csu/rcrt1.o > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/csu/crti.o > >>> `/home/wbx/embedded-test/openadk/toolchain_qemu-x86_glibc/usr/bin/i686-openadk-linux-gnu-gcc > >>> --print-file-name=crtbeginS.o` > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/support/test-run-command.o > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/elf/static-stubs.o > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/support/libsupport_nonshared.a > >>> -Wl,--start-group > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/libc.a > >>> -lgcc -Wl,--end-group > >>> `/home/wbx/embedded-test/openadk/toolchain_qemu-x86_glibc/usr/bin/i686-openadk-linux-gnu-gcc > >>> --print-file-name=crtendS.o` > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/csu/crtn.o > >>> /home/wbx/embedded-test/openadk/toolchain_qemu-x86_glibc/usr/lib/gcc/i686-openadk-linux-gnu/11.2.0/../../../../i686-openadk-linux-gnu/bin/ld: > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/libc.a(setlocale.o): > >>> relocation R_386_GOT32 against absolute symbol > >>> `_nl_current_LC_CTYPE_used' in section `__libc_freeres_fn' is > >>> disallowed > >>> collect2: error: ld returned 1 exit status > >>> gmake[8]: *** [../Rules:293: > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35-final/support/test-run-command] > >>> Error 1 > >>> gmake[7]: *** [Makefile:483: support/others] Error 2 > >>> gmake[6]: *** [Makefile:9: all] Error 2 > >>> gmake[5]: *** [Makefile:62: > >>> /home/wbx/embedded-test/openadk/toolchain_build_qemu-x86_glibc/w-glibc-2.35-1/glibc-2.35/.compiled] > >>> Error 2 > >>> gmake[4]: *** [Makefile:106: glibc-compile] Error 2 > >>> gmake[3]: *** [mk/build.mk:228: toolchain/final] Error 2 > >>> gmake[2]: *** [/home/wbx/embedded-test/openadk/mk/build.mk:177: > >>> world] Error 2 > >>> gmake[1]: *** [Makefile.adk:25: all] Error 2 > >>> make: *** [Makefile:22: all] Error 2 > >>> build failed > >>> > >>> Is it a known bug in binutils or glibc? > >> > >> None we are aware of and we do build check on i686 constantly. I just did a build > >> with gcc 11.2 and binutins 2.37 and I haven't see any issue. How did you build > >> gcc and binutils? > > > > Thanks for your response. It seems TARGET CFLAGS are not allowed to > > be -Os or any machine specific optimizations for x86. Forcing -O2 > > did work. > > I should work in fact, we have tracked multiple issues when building with -Os > over the releases [1][2][3][4][5][6][7][8]. > > The problem seems to the that now static-pie is enabled as default and it > seems to be triggering this issue (with --disable-static-pie it does seem > to work). > > The localedef.o is built with -fpie, as expected, so I am not sure if the > issue is compiler that is emitting wrong relocations for -Os or binutils > that is not expecting it. With -O2 gcc emits R_386_GOT32X which seems to > be fine. > > H.J or Siddhesh, could you check on this? > > [1] https://sourceware.org/bugzilla/show_bug.cgi?id=15105 > [2] https://sourceware.org/bugzilla/show_bug.cgi?id=19463 > [3] https://sourceware.org/bugzilla/show_bug.cgi?id=25240 > [4] https://sourceware.org/bugzilla/show_bug.cgi?id=22581 > [5] https://sourceware.org/bugzilla/show_bug.cgi?id=20729 > [6] https://sourceware.org/bugzilla/show_bug.cgi?id=19462 > [7] https://sourceware.org/bugzilla/show_bug.cgi?id=19465 > [8] https://sourceware.org/bugzilla/show_bug.cgi?id=19466 It looks like a linker bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28870 -- H.J.