From c3a92dbca09e8cd56a66baab01e22711b9e89b2a Mon Sep 17 00:00:00 2001 From: Ralph Holmes Date: Sat, 23 Jan 2016 03:33:52 +0000 Subject: m68k/genmcf548x: Add per-section compilation and linking support. For the COBRA5475 BSP variant: The size of the sample executables without this option were: text data bss dec hex filename 92068 1684 134123976 134217728 8000000 base_sp.exe 100414 1656 134115656 134217726 7fffffe hello.exe 31474 1228 134185024 134217726 7fffffe minimum.exe 559781 5592 133652352 134217725 7fffffd fileio.exe 110380 1768 134105580 134217728 8000000 nsecs.exe 162196 2056 134053476 134217728 8000000 paranoia.exe 95682 1684 134120360 134217726 7fffffe ticker.exe 94364 1712 134121652 134217728 8000000 unlimited.exe 860068 1968 133355688 134217724 7fffffc cxx_iostream.exe 192553 1720 134023448 134217721 7fffff9 cdtest.exe 186476 2184 134029068 134217728 8000000 capture.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 82762 1652 134133312 134217726 7fffffe base_sp.exe 89960 1604 134126164 134217728 8000000 hello.exe 22368 1194 134194164 134217726 7fffffe minimum.exe 541551 5560 133670616 134217727 7ffffff fileio.exe 102222 1740 134113764 134217726 7fffffe nsecs.exe 152484 2028 134063216 134217728 8000000 paranoia.exe 87182 1656 134128888 134217726 7fffffe ticker.exe 84388 1672 134131668 134217728 8000000 unlimited.exe 509726 1928 133706072 134217726 7fffffe cxx_iostream.exe 182133 1696 134033896 134217725 7fffffd cdtest.exe 175060 2124 134040544 134217728 8000000 capture.exe For the m5484FireEngine BSP variant: The size of the sample executables without this option were: text data bss dec hex filename 92740 1684 67014440 67108864 4000000 base_sp.exe 101086 1656 67006120 67108862 3fffffe hello.exe 32150 1228 67075484 67108862 3fffffe minimum.exe 560459 5592 66542812 67108863 3ffffff fileio.exe 111052 1768 66996044 67108864 4000000 nsecs.exe 162868 2056 66943940 67108864 4000000 paranoia.exe 96354 1684 67010824 67108862 3fffffe ticker.exe 95036 1712 67012116 67108864 4000000 unlimited.exe 860740 1968 66246152 67108860 3fffffc cxx_iostream.exe 193225 1720 66913912 67108857 3fffff9 cdtest.exe 187148 2184 66919532 67108864 4000000 capture.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 83426 1652 67023784 67108862 3fffffe base_sp.exe 90624 1604 67016636 67108864 4000000 hello.exe 23036 1194 67084632 67108862 3fffffe minimum.exe 542221 5560 66561080 67108861 3fffffd fileio.exe 102886 1740 67004236 67108862 3fffffe nsecs.exe 153148 2028 66953688 67108864 4000000 paranoia.exe 87846 1656 67019360 67108862 3fffffe ticker.exe 85052 1672 67022140 67108864 4000000 unlimited.exe 510390 1928 66596544 67108862 3fffffe cxx_iostream.exe 182797 1696 66924368 67108861 3fffffd cdtest.exe 175724 2124 66931016 67108864 4000000 capture.exe --- c/src/lib/libbsp/m68k/genmcf548x/make/custom/genmcf548x.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/m68k/genmcf548x/make/custom/genmcf548x.inc b/c/src/lib/libbsp/m68k/genmcf548x/make/custom/genmcf548x.inc index a910bd3536..e93b185bda 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/make/custom/genmcf548x.inc +++ b/c/src/lib/libbsp/m68k/genmcf548x/make/custom/genmcf548x.inc @@ -13,6 +13,9 @@ CPU_CFLAGS = -mcfv4e -Wa,-memac # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections define bsp-post-link $(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \ -- cgit v1.2.3