#2564 closed defect (fixed)

powerpc/qemuppc: linker script update (add KEEP() sections)

Reported by: Joel Sherrill Owned by: Joel Sherrill
Priority: normal Milestone: Indefinite
Component: bsps Version: 5
Severity: normal Keywords: function sections, KEEP
Cc: Blocked By:
Blocking:

Description

This BSP's linker script does not include KEEP() directives and thus cannot have per-function and per-data element section support enabled.

The preferred solution is to convert the BSP to use a shared base linker script. The acceptable solution is to add the proper KEEP directives to the existing linker script(s).

Shared linker scripts for the arm, m68k, and sparc have the proper KEEP sections and can serve as examples.

Change History (6)

comment:1 Changed on Feb 6, 2016 at 2:53:58 PM by Joel Sherrill <joel@…>

In 8926fadfc095517405e2d93fdf113c244cb41970/rtems:

powerpc/.../qemuppc.cfg: Disable per function sections

updates #2564.

comment:2 Changed on Feb 15, 2017 at 1:49:47 PM by Sebastian Huber

Owner: set to Joel Sherrill
Status: newassigned

comment:3 Changed on May 11, 2017 at 7:31:02 AM by Sebastian Huber

Milestone: 4.124.12.0

comment:4 Changed on Aug 24, 2017 at 5:59:58 AM by Sebastian Huber

Milestone: 4.12.0Indefinite

comment:5 Changed on Sep 14, 2018 at 6:58:36 PM by Joel Sherrill

Keywords: function sections KEEP added

comment:6 Changed on Nov 30, 2018 at 5:04:04 PM by Shashvat Jain <shashvatjain2002@…>

Resolution: fixed
Status: assignedclosed

In 8b3ca0c/rtems:

powerpc/qemuppc:Add per-section compilation and linking support (GCI 2018)

The size of the sample executables without this option were:

text data bss dec hex filename

101320 1604 4184764 4287688 416cc8 ./base_sp.exe
247452 2656 4183748 4433856 43a7c0 ./capture.exe
283516 29564 4183788 4496868 449de4 ./cdtest.exe
948220 162032 4183744 5293996 50c7ac ./cxx_iostream.exe
642568 5234 4181152 4828954 49af1a ./fileio.exe
133733 1960 4184372 4320065 41eb41 ./hello.exe
314124 6796 4179844 4500764 44ad1c ./loopback.exe

60592 680 4185536 4246808 40cd18 ./minimum.exe

130936 2112 4184228 4317276 41e05c ./nsecs.exe
180161 2376 4183956 4366493 42a09d ./paranoia.exe
538248 13040 4173628 4724916 4818b4 ./pppd.exe
104753 1636 4184736 4291125 417a35 ./ticker.exe
104608 1596 4184788 4290992 4179b0 ./unlimited.exe

The size of the sample executables with this option were:

text data bss dec hex filename

611756 58492 4183964 4854212 4a11c4 ./cxx_iostream.exe
630360 5210 4181168 4816738 497f62 ./fileio.exe
123653 1956 4184396 4310005 41c3f5 ./hello.exe
295200 6776 4179868 4481844 446334 ./loopback.exe

60608 668 4185560 4246836 40cd34 ./minimum.exe

123704 2108 4184220 4310032 41c410 ./nsecs.exe
170589 2364 4183980 4356933 427b45 ./paranoia.exe
523060 13016 4173648 4709724 47dd5c ./pppd.exe

99533 1632 4184732 4285897 4165c9 ./ticker.exe

103608 1584 4184784 4289976 4175b8 ./unlimited.exe
231572 2644 4183736 4417952 4369a0 ./capture.exe

96544 1600 4184760 4282904 415a18 ./base_sp.exe

223456 10112 4184260 4417828 436924 ./cdtest.exe

Closes #2564

Note: See TracTickets for help on using tickets.