From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id EE1393858D1E; Tue, 19 Apr 2022 06:01:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE1393858D1E From: "rui314 at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/105305] New: ARM32: gcc does not pass all library directories to linker Date: Tue, 19 Apr 2022 06:01:19 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: 11.2.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rui314 at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Apr 2022 06:01:20 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105305 Bug ID: 105305 Summary: ARM32: gcc does not pass all library directories to linker Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: rui314 at gmail dot com Target Milestone: --- I'm the author of the mold linker (https://github.com/rui314/mold). As far as I know, gcc always passes all library paths to the linker by -L, but I got a bug report that that's not the case on ARM32. It is reported th= at gcc does not pass some obvious paths such as `-L/usr` or `-L/usr/lib`. The = code to explicitly exclude "obvious" directories is here: https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dblob;f=3Dgcc/gcc.cc;h=3Dbb07cc244e= 30fbeccc701816db888f497d65eb08;hb=3Drefs/heads/master#l7931 mold and LLVM lld don't have the notion of the default search paths for the sake of build reproducibility. They guarantee that as long as you pass the exact same command line options and input files, the linkers behave exactly= the same regardless of the host machine (in LLD, that's guaranteed even across = Unix and Windows.) That helps us a lot when we do cross compilation. So, can gcc pass all library paths to the linker on ARM32? https://github.com/rui314/mold/issues/336=