updates #2577.

Had to add .rtemsroset to the linkcmds following the arm to get it
to link after turning on the per-secton options.

For the v850e1sim BSP variant without this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  76940    6456    4944   88340   15914 ticker.exe
  21896    1860     760   24516    5fc4 minimum.exe
 802270   45832   12837  860939   d230b cxx_iostream.exe
 473916   65152   18156  557224   880a8 fileio.exe
 384288   45724   34148  464160   71520 pppd.exe
 161648   18416    7840  187904   2de00 capture.exe
  90856    6740    5021  102617   190d9 nsecs.exe
 158424   17512    5508  181444   2c4c4 paranoia.exe
 152938   12948    5821  171707   29ebb cdtest.exe
  73808    6296    4912   85016   14c18 base_sp.exe
  77420    6528    8756   92704   16a20 unlimited.exe
  89692    4792    4916   99400   18448 hello.exe
 236138   18396   12240  266774   41216 loopback.exe

For the v850e1sim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  76739    1552    4920   83211   1450b ticker.exe
  13682     228     748   14658    3942 minimum.exe
 491284    6508   12026  509818   7c77a cxx_iostream.exe
 517952    5632   17859  541443   84303 fileio.exe
 379732    8864   33308  421904   67010 pppd.exe
 169182    2176    7815  179173   2bbe5 capture.exe
  91307    1640    4997   97944   17e98 nsecs.exe
 167431    1920    5484  174835   2aaf3 paranoia.exe
 156322    1936    5797  164055   280d7 cdtest.exe
  72591    1548    4888   79027   134b3 base_sp.exe
  76215    1576    8732   86523   151fb unlimited.exe
  86346    1520    4892   92758   16a56 hello.exe
 221810    2800   12076  236686   39c8e loopback.exe

For the v850e2sim BSP variant without this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  69788    6452    4948   81188   13d24 ticker.exe
  20972    1856     788   23616    5c40 minimum.exe
 795748   45828   12841  854417   d0991 cxx_iostream.exe
 440586   64864   18160  523610   7fd5a fileio.exe
 352650   45644   34152  432446   6993e pppd.exe
 151172   18400    7844  177416   2b508 capture.exe
  84028    6736    5025   95789   1762d nsecs.exe
 148268   17500    5512  171280   29d10 paranoia.exe
 145916   12936    5825  164677   28345 cdtest.exe
  67124    6292    4916   78332   131fc base_sp.exe
  70452    6508    8760   85720   14ed8 unlimited.exe
  83800    4788    4920   93508   16d44 hello.exe
 221216   18372   12244  251832   3d7b8 loopback.exe

For the v850e2sim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  70155    1552    4924   76631   12b57 ticker.exe
  14156     932     776   15864    3df8 minimum.exe
 485650    6508   12030  504188   7b17c cxx_iostream.exe
 485398    5632   17863  508893   7c3dd fileio.exe
 351418    8864   33312  393594   6017a pppd.exe
 159510    2176    7819  169505   29621 capture.exe
  84989    1640    5001   91630   165ee nsecs.exe
 157973    1920    5488  165381   28605 paranoia.exe
 149880    1936    5801  157617   267b1 cdtest.exe
  66529    1548    4892   72969   11d09 base_sp.exe
  69847    1576    8736   80159   1391f unlimited.exe
  81134    1520    4896   87550   155fe hello.exe
 208878    2800   12080  223758   36a0e loopback.exe

For the v850e2v3sim BSP variant without this option sample
executables sizes were as follows:

   text    data     bss           dec             hex   filename
  69784    6452    4948   81184   13d20 ticker.exe
  20972    1856     788   23616    5c40 minimum.exe
 791378   45808   12841  850027   cf86b cxx_iostream.exe
 436576   64848   18160  519584   7eda0 fileio.exe
 348982   45624   34152  428758   68ad6 pppd.exe
 147420   18380    7844  173644   2a64c capture.exe
  84020    6736    5025   95781   17625 nsecs.exe
 148736   17480    5512  171728   29ed0 paranoia.exe
 142216   12916    5825  160957   274bd cdtest.exe
  67120    6292    4916   78328   131f8 base_sp.exe
  70448    6508    8760   85716   14ed4 unlimited.exe
  80048    4768    4920   89736   15e88 hello.exe
 217432   18352   12244  248028   3c8dc loopback.exe

For the v850e2v3sim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  70151    1552    4924   76627   12b53 ticker.exe
  14156     932     776   15864    3df8 minimum.exe
 481408    6508   12030  499946   7a0ea cxx_iostream.exe
 481378    5632   17863  504873   7b429 fileio.exe
 347740    8864   33312  389916   5f31c pppd.exe
 155736    2176    7819  165731   28763 capture.exe
  84981    1640    5001   91622   165e6 nsecs.exe
 158331    1920    5488  165739   2876b paranoia.exe
 146164    1936    5801  153901   2592d cdtest.exe
  66525    1548    4892   72965   11d05 base_sp.exe
  69843    1576    8736   80155   1391b unlimited.exe
  77363    1520    4896   83779   14743 hello.exe
 205082    2800   12080  219962   35b3a loopback.exe

For the v850esim BSP variant without this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  69626    6452    4948   81026   13c82 ticker.exe
  20920    1856     788   23564    5c0c minimum.exe
 794782   45828   12841  853451   d05cb cxx_iostream.exe
 440110   64860   18160  523130   7fb7a fileio.exe
 351798   45644   34152  431594   695ea pppd.exe
 150816   18400    7844  177060   2b3a4 capture.exe
  83850    6736    5025   95611   1757b nsecs.exe
 147962   17500    5512  170974   29bde paranoia.exe
 145458   12936    5825  164219   2817b cdtest.exe
  66958    6292    4916   78166   13156 base_sp.exe
  70286    6508    8760   85554   14e32 unlimited.exe
  83606    4788    4920   93314   16c82 hello.exe
 220770   18372   12244  251386   3d5fa loopback.exe

For the v850esim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  69971    1552    4924   76447   12a9f ticker.exe
  14108     932     776   15816    3dc8 minimum.exe
 484692    6508   12030  503230   7adbe cxx_iostream.exe
 484894    5632   17863  508389   7c1e5 fileio.exe
 350548    8864   33312  392724   5fe14 pppd.exe
 159138    2176    7819  169133   294ad capture.exe
  84791    1640    5001   91432   16528 nsecs.exe
 157655    1920    5488  165063   284c7 paranoia.exe
 149416    1936    5801  157153   265e1 cdtest.exe
  66349    1548    4892   72789   11c55 base_sp.exe
  69669    1576    8736   79981   1386d unlimited.exe
  80928    1520    4896   87344   15530 hello.exe
 208424    2800   12080  223304   36848 loopback.exe

For the v850essim BSP variant without this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  76940    6456    4944   88340   15914 ticker.exe
  21896    1860     760   24516    5fc4 minimum.exe
 802270   45832   12837  860939   d230b cxx_iostream.exe
 473916   65152   18156  557224   880a8 fileio.exe
 384288   45724   34148  464160   71520 pppd.exe
 161648   18416    7840  187904   2de00 capture.exe
  90856    6740    5021  102617   190d9 nsecs.exe
 158424   17512    5508  181444   2c4c4 paranoia.exe
 152938   12948    5821  171707   29ebb cdtest.exe
  73808    6296    4912   85016   14c18 base_sp.exe
  77420    6528    8756   92704   16a20 unlimited.exe
  89692    4792    4916   99400   18448 hello.exe
 236138   18396   12240  266774   41216 loopback.exe

For the v850essim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  76739    1552    4920   83211   1450b ticker.exe
  13682     228     748   14658    3942 minimum.exe
 491284    6508   12026  509818   7c77a cxx_iostream.exe
 517952    5632   17859  541443   84303 fileio.exe
 379732    8864   33308  421904   67010 pppd.exe
 169182    2176    7815  179173   2bbe5 capture.exe
  91307    1640    4997   97944   17e98 nsecs.exe
 167431    1920    5484  174835   2aaf3 paranoia.exe
 156322    1936    5797  164055   280d7 cdtest.exe
  72591    1548    4888   79027   134b3 base_sp.exe
  76215    1576    8732   86523   151fb unlimited.exe
  86346    1520    4892   92758   16a56 hello.exe
 221810    2800   12076  236686   39c8e loopback.exe

For the v850sim BSP variant without this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  79246    6456    4944   90646   16216 ticker.exe
  22440    1860     760   25060    61e4 minimum.exe
 874792   46172   12837  933801   e3fa9 cxx_iostream.exe
 484218   65164   18156  567538   8a8f2 fileio.exe
 396364   45736   34148  476248   74458 pppd.exe
 167214   18416    7840  193470   2f3be capture.exe
  95154    6744    5021  106919   1a1a7 nsecs.exe
 162778   17512    5508  185798   2d5c6 paranoia.exe
 161270   12984    5821  180075   2bf6b cdtest.exe
  76114    6296    4912   87322   1551a base_sp.exe
  79726    6528    8756   95010   17322 unlimited.exe
  93578    4792    4916  103286   19376 hello.exe
 242848   18396   12240  273484   42c4c loopback.exe

For the v850sim BSP variant with this option sample executables
sizes were as follows:

   text    data     bss           dec             hex   filename
  79045    1552    4920   85517   14e0d ticker.exe
  13674     228     748   14650    393a minimum.exe
 526914    6508   12026  545448   852a8 cxx_iostream.exe
 528264    5632   17859  551755   86b4b fileio.exe
 391652    8864   33308  433824   69ea0 pppd.exe
 174748    2176    7815  184739   2d1a3 capture.exe
  95605    1640    4997  102242   18f62 nsecs.exe
 171785    1920    5484  179189   2bbf5 paranoia.exe
 164414    1936    5797  172147   2a073 cdtest.exe
  74897    1548    4888   81333   13db5 base_sp.exe
  78521    1576    8732   88829   15afd unlimited.exe
  90232    1520    4892   96644   17984 hello.exe
 228424    2800   12076  243300   3b664 loopback.exe
---
 c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc |  3 +++
 c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds        | 12 +++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc 
b/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
index 50de3fa..21eba79 100644
--- a/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
+++ b/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
@@ -10,3 +10,6 @@ RTEMS_CPU_MODEL=v850
 
 # optimize flag: typically -O2
 CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds 
b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
index fcffb95..fe0390d 100644
--- a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
+++ b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
@@ -89,8 +89,18 @@ SECTIONS
     *(.call_table_text)
   }
   .fini                : { KEEP (*(.fini)) } =0
-  .rodata      : { *(.rodata .rodata.* .gnu.linkonce.r.*) KEEP 
(*(SORT(.rtemsroset.*))) }
+  .rodata      : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
   .rodata1     : { *(.rodata1) }
+  .rtemsroset : {
+    /* for pre rtems-libbsd FreeBSD code */
+    ___start_set_sysctl_set = .;
+    *(set_sysctl_*);
+    ___stop_set_sysctl_set = .;
+    *(set_domain_*);
+    *(set_pseudo_*);
+
+    KEEP (*(SORT(.rtemsroset.*)))
+  } =0xff
   .tdata : {
     __TLS_Data_begin = .;
     *(.tdata .tdata.* .gnu.linkonce.td.*)
-- 
1.8.3.1

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to