Conditionalize make behavior e.g. disable --gc-sections
dufault at hda.com
dufault at hda.com
Fri May 10 12:27:41 UTC 2019
> On May 10, 2019, at 08:07 , Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:
>
> On 10/05/2019 13:58, Gedare Bloom wrote:
>> On Tue, May 7, 2019 at 5:03 AM Peter Dufault<dufault at hda.com> wrote:
>>> What is best practice to change build behavior? e.g. I need to use --whole-archive/--no-whole-archive in one place but --gc-sections breaks it and that's turned on for the BSP (xilinx_zynq_a9_qemu).
>>>
>>> I’ve done this in the .cfg files for the BSP:
>>>
>>> ifneq ($(RTEMS_GC_SECTIONS_DISABLE),1)
>>> LDFLAGS_GC_SECTIONS_DISABLE = -Wl,--gc-sections
>>> endif
>>>
>>> (...)
>>>
>>> LDFLAGS = $(LDFLAGS_GC_SECTIONS_DISABLE)
>>>
>>> and then I set RTEMS_GC_SECTIONS_DISABLE=1 in the one Makefile where I need it. I don’t see similar patterns, is this the way to do it?
>>>
>> Historically a new BSP variant has been introduced when there needs to
>> be a change at this .cfg level. But, I could see a rationale to
>> include this kind of switching behavior at a higher level. Someone
>> might consider how to integrate it into our configure.ac/Makefile.am
>> black magic, but that is beyond me:).
>>
>> An alternative approach that may work from what you propose is to use
>> following in the xilinx zynq .cfg file:
>> LDFLAGS ?= -Wl, --gc-sections
>> then, you can provide own LDFLAGS = -Wl on your make command line or
>> in your Makefile, I think that would work bit more elegant
>
> Nobody forces you to use -Wl, --gc-sections to link your application. For the RTEMS tests and samples this shouldn't be an issue?
>
My make pulls in those settings. I think it is best to use the same settings that the RTEMS tests and samples unless I have a good reason to change them, e.g., I need —whole-archive in one application in one place.
What do you recommend? Where is an example to build from?
Peter
-----------------
Peter Dufault
HD Associates, Inc. Software and System Engineering
This email is delivered through the public internet using protocols subject to interception and tampering.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190510/49f88867/attachment-0002.html>
More information about the devel
mailing list