From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by sourceware.org (Postfix) with ESMTPS id 2F88F3858D1E for ; Sat, 24 Dec 2022 18:10:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2F88F3858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maskray.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-f173.google.com with SMTP id 17so7652516pll.0 for ; Sat, 24 Dec 2022 10:10:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ezXlRAjyJWoKR+bx0CozU0ZlqWUSexXFAbydznOdn14=; b=LpIlHSjZg43u/FhJHUM96oiise0UOWTKmGwNLRsD/eK3A2JBNqb9sBTk7C2kTRY2N1 WNiqVAXKS2aOcmgEfOLfB1/UrE7dmHDRQFsvYHssi2//KNxnyPXvml9UOYSn9v48+G4e VuUAh7TzLYq9QwX8FEj0dDQ46RuvJEv4OoaSsAY86+Cjczo8mLhKv3ZiudGypPVl7eb3 3YfKIWUrt4gDzzGSqLTu3KP+PZZisQ1wY45ixOSlx3lmeRrsh40PhoUS+XbUV6f8iW/z a9af9YPnPPLx2/Tw4gsfQb6bbFyxXilEHJTOhC4MMPxrAsvT4s6lkolc/xXV+Ntf5BCV mrzg== X-Gm-Message-State: AFqh2kplf06Fvz790vFGn+KsyDaPnODeGX/OLyr0ePS9lrYM6zw4uFwe WsWEdu1Zq8OEwsjaDIm65MNa/MyHIB0= X-Google-Smtp-Source: AMrXdXv5uj8LB7jDg+/GnN9i5eu0vuZ1SwjjohN0GjneQKYWBkeR1yiJzIM6n+KypWySDEY0gIwmFg== X-Received: by 2002:a17:903:3311:b0:189:6522:7cc0 with SMTP id jk17-20020a170903331100b0018965227cc0mr14854192plb.50.1671905404035; Sat, 24 Dec 2022 10:10:04 -0800 (PST) Received: from localhost ([2601:647:6300:b760:cb5e:7aab:aebd:ee49]) by smtp.gmail.com with ESMTPSA id a10-20020a1709027e4a00b0018913417ba2sm1866063pln.130.2022.12.24.10.10.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Dec 2022 10:10:03 -0800 (PST) Date: Sat, 24 Dec 2022 10:10:02 -0800 From: Fangrui Song To: mengqinggang Cc: binutils@sourceware.org, xuchenghua@loongson.cn, liuzhensong@loongson.cn, chenglulu@loongson.cn, xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com, hp@bitrange.com Subject: Re: [PATCH v3 0/6] LoongArch linker relaxation support. Message-ID: <20221224181002.rzlsz3sxpyy2tzyy@gmail.com> References: <20221216072336.1087469-1-mengqinggang@loongson.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20221216072336.1087469-1-mengqinggang@loongson.cn> X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP 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: On 2022-12-16, mengqinggang wrote: >This is the v3 version of patches to support loongarch linker relax. >The new relocs document at here: > https://github.com/loongson/LoongArch-Documentation/pull/77 > >The patch set changelog: > >v2 -> v3: >1. Fix ChangeLog entries, delete extra TABs. > >mengqinggang (6): > LoongArch: include: Add support for linker relaxation. > LoongArch: bfd: Add support for linker relaxation. > LoongArch: opcodes: Add support for linker relaxation. > LoongArch: binutils: Add support for linker relaxation. > LoongArch: gas: Add support for linker relaxation. > LoongArch: ld: Add support for linker relaxation. > Regarding relaxation, there is no hurry. It's a linked unit size optimization (minor in many cases) with significant relocataion file overhead and other costs (see https://maskray.me/blog/2021-03-14-the-dark-side-of-riscv-linker-relaxation): debug informtion, .gcc_except_table, unimplemented split DWARF, almost all metadata sections anchoring text sections, ld --emit-relocs, etc. RISC-V linker relaxation while used prevailingly due to GCC/Clang default -mrelax, has many issues not sorted out. And some issues are in inferior states due to backward compatibility. My best advice is to postpone adding linker relaxation until every other part is mature.