Commit Graph

33 Commits

Author SHA1 Message Date
You Wei
5d8433ec56 fix(ldgen): duplicate entries in the generated .ld file 2023-09-21 19:38:49 +08:00
You Wei
de93968670 fix(ldgen): check target conflict for entries with section alias 2023-09-21 19:38:49 +08:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
Fu Hanxi
172854a850 refactor: rewrite ldgen fragment file parser
closes https://github.com/espressif/esp-idf/issues/7940
2022-01-07 16:18:32 +08:00
Fu Hanxi
a44953ecd4 refactor: move ldgen into a separate package 2022-01-07 16:18:32 +08:00
Ivan Grokhotkov
52fb8624cc ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-17 10:31:01 +01:00
Fu Hanxi
a65de0ab1f ldgen: generate ld files with fixed order of entries 2021-10-26 10:43:15 +08:00
Renz Bagaporo
acd2385d0e ldgen: parenthesis for KEEP 2021-03-05 18:09:19 +08:00
Renz Bagaporo
69906ed5f2 ldgen: rename key-value grammar class 2021-03-05 17:48:47 +08:00
Renz Bagaporo
10c5226095 ldgen: use uppercase keywords for flags 2021-03-01 14:19:34 +08:00
Renz Bagaporo
7af3d65868 ldgen: surround always pre and post 2021-03-01 14:19:34 +08:00
Renz Bagaporo
dbdc17cced ldgen: rename emit to surround 2021-03-01 14:19:34 +08:00
Renz Bagaporo
b99777066f ldgen: implement flags support
Implement support for KEEP, ALIGN, emitting symbols and SORT.
Add appropriate tests
Defines default mapping in linker fragment file
2021-03-01 14:19:34 +08:00
Renz Bagaporo
7f18c948dc ldgen: refactor generation tests and description addition 2021-02-05 10:20:37 +08:00
Renz Bagaporo
0142676cbf ldgen: additional tests for generation support classes 2021-02-03 19:50:36 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Renz Bagaporo
ef6c8e351b ldgen: fix sections info parsing
Fixes an issure where the first part of an object file name is not
included, due to matching the rule for a section entry previously.

Reduce depedency on matching literal strings in sections which might
change depending on toolchain (ex. matching 'elf32-xtensa-le')

Make sure parsing rule succeeds for the entirety of the sections info
string by adding 'parseAll=True'.

Add test for sections info parsing.
2021-01-19 11:17:18 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
f7de809f31 Merge branch 'bugfix/ldgen_allow_more_characters_sections_entries' into 'master'
ldgen: allow more characters in `sections` fragment `entries`

See merge request espressif/esp-idf!10956
2020-10-28 14:40:43 +08:00
Renz Bagaporo
4c796850e9 ldgen: allow more chars in sections fragments 2020-10-23 10:40:30 +08:00
Roland Dobai
792087dede tools/ldgen: Parse paths with Unicode characters in archives
Closes https://github.com/espressif/esp-idf/issues/5996
2020-10-20 12:09:50 +02:00
Renz Bagaporo
89a255f5eb ldgen: determinism in mapping rule order
This MR imposes some determinism in the mapping rule order in the output
file. For each section, the archives are arranged alphabetically
(ascending), and the mapping rules in each archive are arranged by
increasing specificity then alphabetically (ascending). The default
rules remain the very first rule for each section.
2020-04-30 18:20:00 +08:00
Roland Dobai
84d5cc1c17 Generate source files for kconfiglib from the build system 2019-11-15 15:25:09 +00:00
Roland Dobai
01887f71e7 Update kconfiglib to upstream version and replace mconf-idf
Special thanks to @ulfalizer for the helpful suggestions regarding
kconfiglib.

"rsource" option is available for relative path includes
Closes https://github.com/espressif/esp-idf/issues/4064
2019-10-29 10:40:04 +01:00
Renz Christian Bagaporo
8ee90ee2f1 ldgen: allow multiple mapping fragments to map same library 2019-06-12 10:48:54 +08:00
Renz Christian Bagaporo
2522268c20 ldgen: do not generate rules when no condition is true
Closes https://github.com/espressif/esp-idf/issues/3295
2019-04-24 18:25:24 +08:00
Renz Christian Bagaporo
c81ebbf38e ldgen: add backward-compatibility with previous mapping fragment style 2019-04-04 16:33:56 +08:00
Renz Christian Bagaporo
7900178b7c ldgen: update tests for common fragment parsing 2019-04-04 15:56:46 +08:00
Angus Gratton
5b182eefc1 Merge branch 'bugfix/spiram_linker_wildcards' into 'master'
newlib: Provide library name for ROM libc object files linked as PSRAM workarounds

See merge request idf/esp-idf!4152
2019-02-19 13:28:10 +08:00
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
Angus Gratton
7f307423c1 newlib: Provide library name for ROM libc object files linked as PSRAM workarounds
Works around bug reported on forums where any source file ending in *lock.c or *creat.c
was being linked to IRAM.

https://esp32.com/viewtopic.php?f=13&t=8909&p=37362#p37362

Also moves all related functionality to newlib component.
2019-01-24 11:30:05 +08:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
Renz Bagaporo
63411fc556 tools: implement linker script generation 2018-11-16 12:42:02 +08:00