From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) by sourceware.org (Postfix) with ESMTPS id E967D3858D1E for ; Wed, 8 Nov 2023 00:20:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E967D3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E967D3858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699402860; cv=none; b=Tu2+1dhlIDpE1QB8K9PMfi0C2ulBlny4JPOtO3c1eKsNgv7fZeC5h0IKGwnGHAvDOzGlJ/Xxdif9PW6JlBUhOE/YeRB9T8tIsTCOq6IYtOBA+m64n6Tqxa6zOjCd/j+Uh/TRi6MpKzAE8+NaOTy05JIqoVY2MJw5FPyGXZuRc+U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699402860; c=relaxed/simple; bh=g9AxuzwvxzaM1FAOcC28IlSuNYk4Wrw373BJMRvqp8c=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=ePmOLEd754tzvZboDCCv854w/RwAazrzlIeFFD0WIUXek+rpwgrJfEbyKT6yeEn+zNP3NaOTsnsIQQpTsN9DnEy++3OWZ8ThNNwclMpBExdMPYt3dZ56MFvSigtbqcoqAGmBmXcxNWVMuVem5Lx1nM7a8KS/hjjxYH8xuaX9LIo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb32.google.com with SMTP id 3f1490d57ef6-d852b28ec3bso6841471276.2 for ; Tue, 07 Nov 2023 16:20:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699402858; x=1700007658; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=g9AxuzwvxzaM1FAOcC28IlSuNYk4Wrw373BJMRvqp8c=; b=Il/qb2YR7pofHGk9VL86WIKw4AiwQX0TgloXDkgQhkhKgFVHjhkrbb+aGRg3llpQR4 VAwzYRiPSRkDXPTYJkXV5GCTzqKXvUD+dn+hQkPFsF+UzqhNnv4G//6fUuW5PMEDi2D1 dzFxoy3yYDGnqv5IX3Kvujjwho094pLtvp73pKavH8Ru/Cl8jwljwpVuvpregCo5s1+5 X9J5DDyEZebI7ShrHQgJG3yIkAj3mmq+ozbIIW0XSg3KVo2WFXvIPuNq4yQ4JxL6L0fn FXDxYMROrdchtEbi9+2Y6TX4vyRFcCWhwTFVB1weP1oJUVCJVoDg4HdZUEO2k+txscOT tI7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699402858; x=1700007658; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g9AxuzwvxzaM1FAOcC28IlSuNYk4Wrw373BJMRvqp8c=; b=tDKyFsa9ahK6Dmqgmj4hQrheVQozzFsWWdu9EiaK+qvS8Ch6te6AilIpSfjTxDB+wd z48XzdM4Nj4MDt0Q8LnEUrBwg0sxJZa6uRQWo3SLhUH88qBVuyfWGpMtpFUE8V2kqdbs kVaoyKYJIbbjva5EO1idxUGgISTZzz1P2WnZ4huJ6qoi+qzciDLMMXHGww0SluqjkXGG jgU2XWm0EXl/8sYYIEGQpMj03mKN2mPNUEAmjdShCUUfKGhEgBlJPPrqczPmmdDGLkrm TSYkLZHoLxBYorCwAvNbSY4KnSsxVbEOePc2Vr4vxkI5Jq1CV/tV4PFUigWP7SAIYn/h SLPQ== X-Gm-Message-State: AOJu0YwxrYLQ0FcovtWAYNLTRZWjfq8lKEyV5LFoLax25e3sWvWYIOdk ghsJlN/NX6rJKdOxJU6c1d21mEgMi6eyiISK0MNP4cXtFj8= X-Google-Smtp-Source: AGHT+IFUqgPiw5HBae5mSmb6IwlAy0Xj823m6iUss2scT4cHrcP6shM3FuJVMfTmzIjBJ6vs3Me7jcDBStbg07ZSB1Y= X-Received: by 2002:a25:2fd2:0:b0:da0:c80f:5775 with SMTP id v201-20020a252fd2000000b00da0c80f5775mr313024ybv.61.1699402858165; Tue, 07 Nov 2023 16:20:58 -0800 (PST) MIME-Version: 1.0 From: R jd <3246251196ryan@gmail.com> Date: Wed, 8 Nov 2023 00:20:47 +0000 Message-ID: Subject: Fine granularity of control over libgcc* search paths To: gcc-help@gcc.gnu.org Content-Type: multipart/alternative; boundary="000000000000b0fb350609990f65" X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,FROM_STARTS_WITH_NUMS,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000b0fb350609990f65 Content-Type: text/plain; charset="UTF-8" I have tried for some hours to figure out how to get full control over the paths that are implicitly searched for *libgcc.a*. As an example, here is the command that is passed to *collect2*: /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwIgXt9.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o main /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. --verbose /tmp/ccR9vB4k.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o This boils down to something like: [LINK_SPEC] [STARTFILE_SPEC] [The Evasive Library Paths] --verbose /tmp/ccR9vB4k.o [REAL_LIBGCC_SPEC] [LIB_SPEC] ..... Where, [The Evasive Library Paths] = -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. It is [The Evasive Library Paths] that I am trying to get fine control over. It seems that these are just automatically inserted because we are linking with -lgcc which makes total sense - but I need to have full control over it and may want to change it. The rest of the command line for *collect2* is understandable and modifiable since I can match it up with the relevant SPEC file. Only these evasive library paths are causing me a lot of wasted hours. I was looking at *LINK_COMMAND_SPEC* ( https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gccint/Driver.html) as a potential work around, but I thought that, since it is already late, I would just ask on here. Regards, --000000000000b0fb350609990f65--