mbed-os/tools
Tony Wu c50b5c6651 Tools - Fix fill section size variation
The linking order of object files affects the actual code placement,
which in turn affects the size of fill section due to the number of
zeros required to maintain appropriate data/code alignment may change.
This is observed when building on Mac and Linux host.

example: mbed compile -m K64F -t GCC_ARM (build 1)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   120 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53812 |  2312 | 10520 |
+---------------------+-------+-------+-------+

example: mbed compile -m K64F -t GCC_ARM (build 2)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   128 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53820 |  2312 | 10520 |
+---------------------+-------+-------+-------+

This patch fixes fill section size variation by sorting object
files before passing to linker.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-09-10 08:30:01 +08:00
..
bootloaders Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
buildbot Move private_settings.py to root mbed_settings.py. Various updates to reflect the path changes 2016-06-09 22:24:05 +01:00
ci_templates Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
compliance Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
data Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
dev Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
export Merge pull request #2548 from jamike/NUCLEO_F303ZE 2016-09-09 01:48:13 +02:00
host_tests Squash weird import bug 2016-07-07 15:29:36 -05:00
misc Move non-essential scripts to tools/misc/ 2016-06-27 14:11:38 +01:00
test Merge pull request #2576 from theotherjimmy/example-regession 2016-09-09 17:59:55 -05:00
toolchains Tools - Fix fill section size variation 2016-09-10 08:30:01 +08:00
.mbedignore Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
__init__.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
add_fib.py Formatting code according to ARM guidelines. 2016-08-26 20:34:23 +05:30
build.py Prevent traceback 2016-08-19 14:01:19 -05:00
build_api.py Update copyright 2016-09-06 14:24:04 -05:00
build_everything.py Move find_tests to where it's has arguments 2016-08-11 10:03:23 -05:00
build_release.py Adding concept of release versions for targets. 2016-07-27 13:36:52 -05:00
build_travis.py [NUCLEO_F303ZE] test / export scripts update 2016-09-05 09:14:09 +02:00
colorize.py Format and document colorize 2016-08-16 11:48:45 -05:00
config.py Allow an empty or mal-formed config to be passed to the config system 2016-08-29 10:03:36 -05:00
default_settings.py Add environmental variables support for toolchain paths 2016-06-24 23:03:08 +01:00
detect_targets.py Format detect_targets.py 2016-08-16 11:48:46 -05:00
export_test.py [NUCLEO_F303ZE] test / export scripts update 2016-09-05 09:14:09 +02:00
get_config.py Unify look of argument errors 2016-08-19 14:01:19 -05:00
hooks.py Format and document hooks.py 2016-08-16 13:29:31 -05:00
libraries.py Format and document libraries.py 2016-08-16 11:48:45 -05:00
make.py Prevent traceback 2016-08-19 14:01:19 -05:00
memap.py Print module information in 'table' output format 2016-08-18 13:25:58 -05:00
options.py Make selection of c library used consistent. 2016-08-23 16:04:56 +01:00
patch.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
paths.py Format paths python module 2016-08-16 11:48:45 -05:00
project.py Removed projectfiles directory. debug-info default option 2016-09-06 14:24:06 -05:00
project_api.py Add repo_dirs, repo_files, lib_builds, and lib_refs to zips 2016-09-06 14:24:06 -05:00
settings.py Formatting code according to ARM guidelines. 2016-08-26 20:34:23 +05:30
singletest.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
size.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
synch.py mbed Online Build System support: 2016-07-19 11:14:42 +01:00
targets.py rebasing with mbed-os latest 2016-08-26 20:34:20 +05:30
test.py Merge pull request #2393 from theotherjimmy/argument-dependencies 2016-09-05 12:50:47 +03:00
test_api.py Correctly providing directories to build_apis 2016-09-02 11:32:11 -05:00
test_db.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
test_exporters.py Merge pull request #1873 from theotherjimmy/file-reporter 2016-07-06 16:45:43 -05:00
test_mysql.py Renamed workspace_tools folder to tools 2016-06-09 21:34:53 +01:00
test_webapi.py Revert "Revert "Generalize flag handling"" 2016-07-07 15:29:36 -05:00
tests.py Merge pull request #2548 from jamike/NUCLEO_F303ZE 2016-09-09 01:48:13 +02:00
upload_results.py Ported updates to targets, utils and settings scripts 2016-06-09 22:05:35 +01:00
utils.py Unify look of argument errors 2016-08-19 14:01:19 -05:00