#2573 closed defect (fixed)

m68k/gen68340: 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 (5)

comment:1 Changed on 02/15/17 at 13:49:47 by Sebastian Huber

Owner: set to Joel Sherrill
Status: newassigned

comment:2 Changed on 05/11/17 at 07:31:02 by Sebastian Huber

Milestone: 4.124.12.0

comment:3 Changed on 08/24/17 at 05:59:58 by Sebastian Huber

Milestone: 4.12.0Indefinite

comment:4 Changed on 09/14/18 at 19:00:19 by Joel Sherrill

Keywords: function sections KEEP added

comment:5 Changed on 11/24/18 at 22:57:12 by pritishjain <pritishjain2001@…>

Resolution: fixed
Status: assignedclosed

In 1b2124d/rtems:

m68k/gen68340:Add per-section compilation and linking support

The size of the sample executables without this option were:

65600 4384 19280 89264 15cb0 ./m68k-rtems5/c/gen68340/testsuites/samples/base_sp.exe

199728 5504 22688 227920 37a50 ./m68k-rtems5/c/gen68340/testsuites/samples/capture.exe
233024 6160 20288 259472 3f590 ./m68k-rtems5/c/gen68340/testsuites/samples/cdtest.exe
829632 25152 27008 881792 d7480 ./m68k-rtems5/c/gen68340/testsuites/samples/cxx_iostream.exe
539072 8048 32144 579264 8d6c0 ./m68k-rtems5/c/gen68340/testsuites/samples/fileio.exe
100320 4752 19440 124512 1e660 ./m68k-rtems5/c/gen68340/testsuites/samples/hello.exe
240080 9264 26048 275392 433c0 ./m68k-rtems5/c/gen68340/testsuites/samples/loopback.exe

36784 3584 15152 55520 d8e0 ./m68k-rtems5/c/gen68340/testsuites/samples/minimum.exe
89104 4864 19408 113376 1bae0 ./m68k-rtems5/c/gen68340/testsuites/samples/nsecs.exe

175200 5152 20016 200368 30eb0 ./m68k-rtems5/c/gen68340/testsuites/samples/paranoia.exe
422944 15456 49312 487712 77120 ./m68k-rtems5/c/gen68340/testsuites/samples/pppd.exe

68768 4416 19312 92496 16950 ./m68k-rtems5/c/gen68340/testsuites/samples/ticker.exe
68816 4368 23200 96384 17880 ./m68k-rtems5/c/gen68340/testsuites/samples/unlimited.exe

The size of the sample executables with this option enabled were:

text data bss dec hex filename

54384 4384 19200 77968 13090 ./m68k-rtems5/c/gen68340/testsuites/samples/base_sp.exe

177648 5488 22640 205776 323d0 ./m68k-rtems5/c/gen68340/testsuites/samples/capture.exe
159392 5344 20208 184944 2d270 ./m68k-rtems5/c/gen68340/testsuites/samples/cdtest.exe
158720 5424 20432 184576 2d100 ./m68k-rtems5/c/gen68340/testsuites/samples/cxx_iostream.exe
515696 8016 31792 555504 879f0 ./m68k-rtems5/c/gen68340/testsuites/samples/fileio.exe

83920 4736 19392 108048 1a610 ./m68k-rtems5/c/gen68340/testsuites/samples/hello.exe

206640 9168 25920 241728 3b040 ./m68k-rtems5/c/gen68340/testsuites/samples/loopback.exe

21232 3520 15104 39856 9bb0 ./m68k-rtems5/c/gen68340/testsuites/samples/minimum.exe
78352 4864 19312 102528 19080 ./m68k-rtems5/c/gen68340/testsuites/samples/nsecs.exe

159600 5136 19968 184704 2d180 ./m68k-rtems5/c/gen68340/testsuites/samples/paranoia.exe
377376 15296 48528 441200 6bb70 ./m68k-rtems5/c/gen68340/testsuites/samples/pppd.exe

58304 4416 19232 81952 14020 ./m68k-rtems5/c/gen68340/testsuites/samples/ticker.exe
59360 4336 23168 86864 15350 ./m68k-rtems5/c/gen68340/testsuites/samples/unlimited.exe

Closes #2573.

Note: See TracTickets for help on using tickets.