From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by sourceware.org (Postfix) with ESMTPS id B5D0E3944438 for ; Wed, 18 Mar 2020 18:45:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B5D0E3944438 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=netburner.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=dciliske@netburner.com Received: by mail-pj1-x1035.google.com with SMTP id q16so1361146pje.1 for ; Wed, 18 Mar 2020 11:45:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netburner-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=kW2sx3MjX8Zuh1YuLo05e+KrS5/R6qI1BWZJxDx6c9c=; b=AHF56Q6PXHAnZ7Pioxm9yFWsJPJ9y/ciaYUZmRQQ/q14fcLZTgmsgAqURIsBShgpzv jg4p7w34fysA5RPT8Po0rPTsO6tWHgW4QINa46ODm4EqW/O9cJgBwrCuAb8K8z4sAbUa LsNzA8mlz8RbINqDeA5PWLqts/B1FVufzH42JU/Xd3rKCo65h7bxRr+ltvlMwqHsWHHg NhITXUz7N99NW9L7UcoI9l4mo7fmrWdts3RIRd5ADhaCi3hQdJLCRbVHMWBdde5WiEfW qOkA8GEZQZtSlEVlJopH0IHvh6QcFV+673OsiZBYsIZ8a43iMcmgxU+rIMFyLeQeePZW AN3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=kW2sx3MjX8Zuh1YuLo05e+KrS5/R6qI1BWZJxDx6c9c=; b=Ku9Fd5XvT1WYtNGr6CU/6yo0Cz+xRxEkBNwGwl/mNqELuKLAm07jb47d7sZhLioN3n Q8yU+ks6A5LAO7IB9F7BhiMXA32tFPzBGh1ZWvfIZZVHv5rw2xmL44NKiiWdaNfFVKRc O9qSHPCWxZcMoIHn2mD4vSQnWsjZexvuWLeFJAAZTJdBWYCz/a/Hdj00St6ZH5cOki2V ADrdnPoeKjNOWgWJ9U6PyOARGr6rYnRClnmog3pblp3klHLZU461X1O8meSUR4M1pl8U ALJLq+zdyrT+oqZOsepCR54YLIO4A9qK81WzYplzQEkJG8YaSaiWV21/O5YFF6x2DP/n Aubw== X-Gm-Message-State: ANhLgQ3exI5h8Ck9giBUNC0xjR5dN4ShcyzoDTWtvJFtcNY0UHcmpUFF TL7vwO0IzbUmLtQbVOPJgqpU+ZB558o= X-Google-Smtp-Source: ADFU+vuZG9KEE9JdTzn38J5JhGCrFX/5ivfyvFoA9HV6fAOUY8zyu43CioOij6O334b7+mMcz/t+fA== X-Received: by 2002:a17:90b:1b04:: with SMTP id nu4mr5841784pjb.81.1584557125320; Wed, 18 Mar 2020 11:45:25 -0700 (PDT) Received: from ?IPv6:2601:601:8300:f4:30af:545:af55:f6a? ([2601:601:8300:f4:30af:545:af55:f6a]) by smtp.gmail.com with ESMTPSA id w6sm7231295pfn.104.2020.03.18.11.45.24 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Mar 2020 11:45:24 -0700 (PDT) Subject: Re: Questions regarding ld To: binutils@sourceware.org References: <4e9be6eb-f9ee-d40f-4201-8b0a82ee1b98@netburner.com> <20200318181957.3da130a8@jozef-kubuntu> From: Dan Ciliske Message-ID: Date: Wed, 18 Mar 2020 11:45:23 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20200318181957.3da130a8@jozef-kubuntu> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Spam-Status: No, score=0.0 required=5.0 tests=DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 18:45:28 -0000 We are at this moment focused on ARM only. That said, I think this is the first time in history I've gone looking for a piece of functionality and it was _just_ added. I guess it's time to work with the build team to look into being on the bleeding edge... Thanks, - Dan On 3/18/2020 11:19 AM, Jozef Lawrynowicz wrote: > Hi, > > On Wed, 18 Mar 2020 10:55:38 -0700 > Dan Ciliske wrote: > >> I do a lot of work at the bottom of embedded systems and I keep running >> into the same roadblocks that I'm finally asking about. Since space is >> often tight in these systems, I was wondering if there are any known >> approaches that I'm missing to solving some common problems. >> >> My questions are: >> >> 1. Is it possible to automatically spill across sections if the >> underlying region fills? If not, is there some way after the fact move >> part of a Section to another Section that is located in a different Region? > Assuming that you are talking about moving input sections between output > sections (and not splitting up input sections into parts), then the recently > added "non-contiguous memory region" functionality sounds like it handles this > problem for you. See the documentation on the "--enable-non-contiguous-regions" > configure option in ld/ld.texi. > > If you are not only concerned with ARM, the MSP430 linker has had functionality > to shuffle input sections named ".either.*" between upper and lower memory > regions for a while. The --{code,data}-region=either LD option also transforms > section names which don't have the ".either" prefix (e.g. from libraries) to try > to get the program to fit in the available space. > > Jozef > >> 2. With ARM Cortex-M, is there a way to split the ex_tab and exidx >> tables into two parts such that they are accessible within the 31 bit >> limit imposed by ARM_PREL31? I am well aware of the complex implications >> of this question, and realize that this is also partly a question for >> the GCC lists. >> -- Dan Ciliske Principal Architect NetBurner, Inc. 858-558-0293 x216