diff options
author | fauxpark <fauxpark@gmail.com> | 2020-01-17 00:32:09 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-17 00:32:09 +1100 |
commit | 1e670f5e679f691c5cade1f9b43d743a1f8e26dc (patch) | |
tree | 56eb39f119ec33a05a3ba360bf6a971c5ad11338 | |
parent | bf397fdd9fe5adfea67cc7650c5eba53086f8a63 (diff) | |
download | qmk_firmware-1e670f5e679f691c5cade1f9b43d743a1f8e26dc.tar.gz qmk_firmware-1e670f5e679f691c5cade1f9b43d743a1f8e26dc.zip |
Remove `KEYMAP_SECTION_ENABLE` (#7882)
-rw-r--r-- | keyboards/ergodone/rules.mk | 7 | ||||
-rw-r--r-- | keyboards/hotdox/rules.mk | 1 | ||||
-rw-r--r-- | show_options.mk | 5 | ||||
-rw-r--r-- | tmk_core/common.mk | 12 | ||||
-rw-r--r-- | tmk_core/common/command.c | 3 | ||||
-rw-r--r-- | tmk_core/ldscript_keymap_avr35.x | 268 | ||||
-rw-r--r-- | tmk_core/ldscript_keymap_avr5.x | 268 |
7 files changed, 0 insertions, 564 deletions
diff --git a/keyboards/ergodone/rules.mk b/keyboards/ergodone/rules.mk index 4c2fcf159..aaeedb431 100644 --- a/keyboards/ergodone/rules.mk +++ b/keyboards/ergodone/rules.mk | |||
@@ -25,13 +25,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
25 | NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA | 25 | NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA |
26 | USB_6KRO_ENABLE = no # USB 6key Rollover | 26 | USB_6KRO_ENABLE = no # USB 6key Rollover |
27 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | 27 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality |
28 | KEYMAP_IN_EEPROM_ENABLE = no # External keymap in eeprom | ||
29 | KEYMAP_SECTION_ENABLE = no # Fixed address keymap for keymap editor | ||
30 | SOFTPWM_LED_ENABLE = no # Enable SoftPWM to drive backlight | ||
31 | FADING_LED_ENABLE = no # Enable fading backlight | ||
32 | BREATHING_LED_ENABLE = no # Enable breathing backlight | ||
33 | LEDMAP_ENABLE = no # Enable LED mapping | ||
34 | LEDMAP_IN_EEPROM_ENABLE = no # Read LED mapping from eeprom | ||
35 | SWAP_HANDS_ENABLE = no # Disable Onehand | 28 | SWAP_HANDS_ENABLE = no # Disable Onehand |
36 | RGBLIGHT_ENABLE = no | 29 | RGBLIGHT_ENABLE = no |
37 | MIDI_ENABLE = no | 30 | MIDI_ENABLE = no |
diff --git a/keyboards/hotdox/rules.mk b/keyboards/hotdox/rules.mk index be2155205..b5b1483c7 100644 --- a/keyboards/hotdox/rules.mk +++ b/keyboards/hotdox/rules.mk | |||
@@ -25,7 +25,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
25 | NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA | 25 | NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA |
26 | USB_6KRO_ENABLE = no # USB 6key Rollover | 26 | USB_6KRO_ENABLE = no # USB 6key Rollover |
27 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | 27 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality |
28 | KEYMAP_SECTION_ENABLE = no # Fixed address keymap for keymap editor | ||
29 | SWAP_HANDS_ENABLE = no # Disable Onehand | 28 | SWAP_HANDS_ENABLE = no # Disable Onehand |
30 | RGBLIGHT_ENABLE = no | 29 | RGBLIGHT_ENABLE = no |
31 | MIDI_ENABLE = no | 30 | MIDI_ENABLE = no |
diff --git a/show_options.mk b/show_options.mk index 003169d4c..b79653d5c 100644 --- a/show_options.mk +++ b/show_options.mk | |||
@@ -68,16 +68,11 @@ OTHER_OPTION_NAMES = \ | |||
68 | ISSI_ENABLE \ | 68 | ISSI_ENABLE \ |
69 | KEYBOARD_LOCK_ENABLE \ | 69 | KEYBOARD_LOCK_ENABLE \ |
70 | KEYLOGGER_ENABLE \ | 70 | KEYLOGGER_ENABLE \ |
71 | KEYMAP_IN_EEPROM_ENABLE \ | ||
72 | KEYMAP_SECTION_ENABLE \ | ||
73 | LCD_BACKLIGHT_ENABLE \ | 71 | LCD_BACKLIGHT_ENABLE \ |
74 | LEDMAP_ENABLE \ | ||
75 | LEDMAP_IN_EEPROM_ENABLE \ | ||
76 | MACROS_ENABLED \ | 72 | MACROS_ENABLED \ |
77 | ONEHAND_ENABLE \ | 73 | ONEHAND_ENABLE \ |
78 | PS2_MOUSE_ENABLE \ | 74 | PS2_MOUSE_ENABLE \ |
79 | RAW_ENABLE \ | 75 | RAW_ENABLE \ |
80 | SOFTPWM_LED_ENABLE \ | ||
81 | SWAP_HANDS_ENABLE \ | 76 | SWAP_HANDS_ENABLE \ |
82 | USB_6KRO_ENABLE \ | 77 | USB_6KRO_ENABLE \ |
83 | WATCHDOG_ENABLE \ | 78 | WATCHDOG_ENABLE \ |
diff --git a/tmk_core/common.mk b/tmk_core/common.mk index d43950299..8f355da12 100644 --- a/tmk_core/common.mk +++ b/tmk_core/common.mk | |||
@@ -187,18 +187,6 @@ ifeq ($(strip $(NO_USB_STARTUP_CHECK)), yes) | |||
187 | TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK | 187 | TMK_COMMON_DEFS += -DNO_USB_STARTUP_CHECK |
188 | endif | 188 | endif |
189 | 189 | ||
190 | ifeq ($(strip $(KEYMAP_SECTION_ENABLE)), yes) | ||
191 | TMK_COMMON_DEFS += -DKEYMAP_SECTION_ENABLE | ||
192 | |||
193 | ifeq ($(strip $(MCU)),atmega32u2) | ||
194 | TMK_COMMON_LDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr35.x | ||
195 | else ifeq ($(strip $(MCU)),atmega32u4) | ||
196 | TMK_COMMON_LDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr5.x | ||
197 | else | ||
198 | TMK_COMMON_LDFLAGS = $(error no ldscript for keymap section) | ||
199 | endif | ||
200 | endif | ||
201 | |||
202 | ifeq ($(strip $(SHARED_EP_ENABLE)), yes) | 190 | ifeq ($(strip $(SHARED_EP_ENABLE)), yes) |
203 | TMK_COMMON_DEFS += -DSHARED_EP_ENABLE | 191 | TMK_COMMON_DEFS += -DSHARED_EP_ENABLE |
204 | endif | 192 | endif |
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index 82cd80609..0d6661d60 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c | |||
@@ -192,9 +192,6 @@ static void print_version(void) { | |||
192 | #ifdef NKRO_ENABLE | 192 | #ifdef NKRO_ENABLE |
193 | " NKRO" | 193 | " NKRO" |
194 | #endif | 194 | #endif |
195 | #ifdef KEYMAP_SECTION_ENABLE | ||
196 | " KEYMAP_SECTION" | ||
197 | #endif | ||
198 | 195 | ||
199 | " " STR(BOOTLOADER_SIZE) "\n"); | 196 | " " STR(BOOTLOADER_SIZE) "\n"); |
200 | 197 | ||
diff --git a/tmk_core/ldscript_keymap_avr35.x b/tmk_core/ldscript_keymap_avr35.x deleted file mode 100644 index 6665020af..000000000 --- a/tmk_core/ldscript_keymap_avr35.x +++ /dev/null | |||
@@ -1,268 +0,0 @@ | |||
1 | /* | ||
2 | * linker script for configurable keymap | ||
3 | * | ||
4 | * This adds keymap section which places keymap at fixed address and | ||
5 | * is based on binutils-avr ldscripts(/usr/lib/ldscripts/avr5.x). | ||
6 | */ | ||
7 | OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") | ||
8 | OUTPUT_ARCH(avr:35) | ||
9 | MEMORY | ||
10 | { | ||
11 | /* With keymap section | ||
12 | * | ||
13 | * Flash Map of ATMega32U4(32KB) | ||
14 | * +------------+ 0x0000 | ||
15 | * | .vectors | | ||
16 | * | .progmem | | ||
17 | * | .init0-9 | > text region | ||
18 | * | .text | | ||
19 | * | .fini9-0 | | ||
20 | * | | | ||
21 | * |------------| _etext | ||
22 | * | .data | | ||
23 | * | .bss | > data region | ||
24 | * | .noinit | | ||
25 | * | | | ||
26 | * |------------| 0x6800 | ||
27 | * | .keymap | > keymap region(2KB) | ||
28 | * |------------| 0x7000 | ||
29 | * | bootloader | 4KB | ||
30 | * +------------+ 0x7FFF | ||
31 | */ | ||
32 | text (rx) : ORIGIN = 0, LENGTH = 64K | ||
33 | keymap (rw!x) : ORIGIN = 0x6800, LENGTH = 2K | ||
34 | data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0 | ||
35 | eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K | ||
36 | fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K | ||
37 | lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K | ||
38 | signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K | ||
39 | } | ||
40 | SECTIONS | ||
41 | { | ||
42 | /* Read-only sections, merged into text segment: */ | ||
43 | .hash : { *(.hash) } | ||
44 | .dynsym : { *(.dynsym) } | ||
45 | .dynstr : { *(.dynstr) } | ||
46 | .gnu.version : { *(.gnu.version) } | ||
47 | .gnu.version_d : { *(.gnu.version_d) } | ||
48 | .gnu.version_r : { *(.gnu.version_r) } | ||
49 | .rel.init : { *(.rel.init) } | ||
50 | .rela.init : { *(.rela.init) } | ||
51 | .rel.text : | ||
52 | { | ||
53 | *(.rel.text) | ||
54 | *(.rel.text.*) | ||
55 | *(.rel.gnu.linkonce.t*) | ||
56 | } | ||
57 | .rela.text : | ||
58 | { | ||
59 | *(.rela.text) | ||
60 | *(.rela.text.*) | ||
61 | *(.rela.gnu.linkonce.t*) | ||
62 | } | ||
63 | .rel.fini : { *(.rel.fini) } | ||
64 | .rela.fini : { *(.rela.fini) } | ||
65 | .rel.rodata : | ||
66 | { | ||
67 | *(.rel.rodata) | ||
68 | *(.rel.rodata.*) | ||
69 | *(.rel.gnu.linkonce.r*) | ||
70 | } | ||
71 | .rela.rodata : | ||
72 | { | ||
73 | *(.rela.rodata) | ||
74 | *(.rela.rodata.*) | ||
75 | *(.rela.gnu.linkonce.r*) | ||
76 | } | ||
77 | .rel.data : | ||
78 | { | ||
79 | *(.rel.data) | ||
80 | *(.rel.data.*) | ||
81 | *(.rel.gnu.linkonce.d*) | ||
82 | } | ||
83 | .rela.data : | ||
84 | { | ||
85 | *(.rela.data) | ||
86 | *(.rela.data.*) | ||
87 | *(.rela.gnu.linkonce.d*) | ||
88 | } | ||
89 | .rel.ctors : { *(.rel.ctors) } | ||
90 | .rela.ctors : { *(.rela.ctors) } | ||
91 | .rel.dtors : { *(.rel.dtors) } | ||
92 | .rela.dtors : { *(.rela.dtors) } | ||
93 | .rel.got : { *(.rel.got) } | ||
94 | .rela.got : { *(.rela.got) } | ||
95 | .rel.bss : { *(.rel.bss) } | ||
96 | .rela.bss : { *(.rela.bss) } | ||
97 | .rel.plt : { *(.rel.plt) } | ||
98 | .rela.plt : { *(.rela.plt) } | ||
99 | /* Internal text space or external memory. */ | ||
100 | .text : | ||
101 | { | ||
102 | *(.vectors) | ||
103 | KEEP(*(.vectors)) | ||
104 | /* For data that needs to reside in the lower 64k of progmem. */ | ||
105 | *(.progmem.gcc*) | ||
106 | *(.progmem*) | ||
107 | . = ALIGN(2); | ||
108 | __trampolines_start = . ; | ||
109 | /* The jump trampolines for the 16-bit limited relocs will reside here. */ | ||
110 | *(.trampolines) | ||
111 | *(.trampolines*) | ||
112 | __trampolines_end = . ; | ||
113 | /* For future tablejump instruction arrays for 3 byte pc devices. | ||
114 | We don't relax jump/call instructions within these sections. */ | ||
115 | *(.jumptables) | ||
116 | *(.jumptables*) | ||
117 | /* For code that needs to reside in the lower 128k progmem. */ | ||
118 | *(.lowtext) | ||
119 | *(.lowtext*) | ||
120 | __ctors_start = . ; | ||
121 | *(.ctors) | ||
122 | __ctors_end = . ; | ||
123 | __dtors_start = . ; | ||
124 | *(.dtors) | ||
125 | __dtors_end = . ; | ||
126 | KEEP(SORT(*)(.ctors)) | ||
127 | KEEP(SORT(*)(.dtors)) | ||
128 | /* From this point on, we don't bother about wether the insns are | ||
129 | below or above the 16 bits boundary. */ | ||
130 | *(.init0) /* Start here after reset. */ | ||
131 | KEEP (*(.init0)) | ||
132 | *(.init1) | ||
133 | KEEP (*(.init1)) | ||
134 | *(.init2) /* Clear __zero_reg__, set up stack pointer. */ | ||
135 | KEEP (*(.init2)) | ||
136 | *(.init3) | ||
137 | KEEP (*(.init3)) | ||
138 | *(.init4) /* Initialize data and BSS. */ | ||
139 | KEEP (*(.init4)) | ||
140 | *(.init5) | ||
141 | KEEP (*(.init5)) | ||
142 | *(.init6) /* C++ constructors. */ | ||
143 | KEEP (*(.init6)) | ||
144 | *(.init7) | ||
145 | KEEP (*(.init7)) | ||
146 | *(.init8) | ||
147 | KEEP (*(.init8)) | ||
148 | *(.init9) /* Call main(). */ | ||
149 | KEEP (*(.init9)) | ||
150 | *(.text) | ||
151 | . = ALIGN(2); | ||
152 | *(.text.*) | ||
153 | . = ALIGN(2); | ||
154 | *(.fini9) /* _exit() starts here. */ | ||
155 | KEEP (*(.fini9)) | ||
156 | *(.fini8) | ||
157 | KEEP (*(.fini8)) | ||
158 | *(.fini7) | ||
159 | KEEP (*(.fini7)) | ||
160 | *(.fini6) /* C++ destructors. */ | ||
161 | KEEP (*(.fini6)) | ||
162 | *(.fini5) | ||
163 | KEEP (*(.fini5)) | ||
164 | *(.fini4) | ||
165 | KEEP (*(.fini4)) | ||
166 | *(.fini3) | ||
167 | KEEP (*(.fini3)) | ||
168 | *(.fini2) | ||
169 | KEEP (*(.fini2)) | ||
170 | *(.fini1) | ||
171 | KEEP (*(.fini1)) | ||
172 | *(.fini0) /* Infinite loop after program termination. */ | ||
173 | KEEP (*(.fini0)) | ||
174 | _etext = . ; | ||
175 | } > text | ||
176 | .data : AT (ADDR (.text) + SIZEOF (.text)) | ||
177 | { | ||
178 | PROVIDE (__data_start = .) ; | ||
179 | *(.data) | ||
180 | *(.data*) | ||
181 | *(.rodata) /* We need to include .rodata here if gcc is used */ | ||
182 | *(.rodata*) /* with -fdata-sections. */ | ||
183 | *(.gnu.linkonce.d*) | ||
184 | . = ALIGN(2); | ||
185 | _edata = . ; | ||
186 | PROVIDE (__data_end = .) ; | ||
187 | } > data | ||
188 | .bss : AT (ADDR (.bss)) | ||
189 | { | ||
190 | PROVIDE (__bss_start = .) ; | ||
191 | *(.bss) | ||
192 | *(.bss*) | ||
193 | *(COMMON) | ||
194 | PROVIDE (__bss_end = .) ; | ||
195 | } > data | ||
196 | __data_load_start = LOADADDR(.data); | ||
197 | __data_load_end = __data_load_start + SIZEOF(.data); | ||
198 | /* Global data not cleared after reset. */ | ||
199 | .noinit : | ||
200 | { | ||
201 | PROVIDE (__noinit_start = .) ; | ||
202 | *(.noinit*) | ||
203 | PROVIDE (__noinit_end = .) ; | ||
204 | _end = . ; | ||
205 | PROVIDE (__heap_start = .) ; | ||
206 | } > data | ||
207 | /* keymap region is located at end of flash | ||
208 | * .fn_actions Fn actions definitions | ||
209 | * .keymaps Mapping layers | ||
210 | */ | ||
211 | .keymap : | ||
212 | { | ||
213 | PROVIDE(__keymap_start = .) ; | ||
214 | *(.keymap.fn_actions) /* 32*actions = 64bytes */ | ||
215 | . = ALIGN(0x40); | ||
216 | *(.keymap.keymaps) /* rest of .keymap section */ | ||
217 | *(.keymap*) | ||
218 | /* . = ALIGN(0x800); */ /* keymap section takes 2KB- */ | ||
219 | } > keymap = 0x00 /* zero fill */ | ||
220 | .eeprom : | ||
221 | { | ||
222 | *(.eeprom*) | ||
223 | __eeprom_end = . ; | ||
224 | } > eeprom | ||
225 | .fuse : | ||
226 | { | ||
227 | KEEP(*(.fuse)) | ||
228 | KEEP(*(.lfuse)) | ||
229 | KEEP(*(.hfuse)) | ||
230 | KEEP(*(.efuse)) | ||
231 | } > fuse | ||
232 | .lock : | ||
233 | { | ||
234 | KEEP(*(.lock*)) | ||
235 | } > lock | ||
236 | .signature : | ||
237 | { | ||
238 | KEEP(*(.signature*)) | ||
239 | } > signature | ||
240 | /* Stabs debugging sections. */ | ||
241 | .stab 0 : { *(.stab) } | ||
242 | .stabstr 0 : { *(.stabstr) } | ||
243 | .stab.excl 0 : { *(.stab.excl) } | ||
244 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
245 | .stab.index 0 : { *(.stab.index) } | ||
246 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
247 | .comment 0 : { *(.comment) } | ||
248 | /* DWARF debug sections. | ||
249 | Symbols in the DWARF debugging sections are relative to the beginning | ||
250 | of the section so we begin them at 0. */ | ||
251 | /* DWARF 1 */ | ||
252 | .debug 0 : { *(.debug) } | ||
253 | .line 0 : { *(.line) } | ||
254 | /* GNU DWARF 1 extensions */ | ||
255 | .debug_srcinfo 0 : { *(.debug_srcinfo) } | ||
256 | .debug_sfnames 0 : { *(.debug_sfnames) } | ||
257 | /* DWARF 1.1 and DWARF 2 */ | ||
258 | .debug_aranges 0 : { *(.debug_aranges) } | ||
259 | .debug_pubnames 0 : { *(.debug_pubnames) } | ||
260 | /* DWARF 2 */ | ||
261 | .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } | ||
262 | .debug_abbrev 0 : { *(.debug_abbrev) } | ||
263 | .debug_line 0 : { *(.debug_line) } | ||
264 | .debug_frame 0 : { *(.debug_frame) } | ||
265 | .debug_str 0 : { *(.debug_str) } | ||
266 | .debug_loc 0 : { *(.debug_loc) } | ||
267 | .debug_macinfo 0 : { *(.debug_macinfo) } | ||
268 | } | ||
diff --git a/tmk_core/ldscript_keymap_avr5.x b/tmk_core/ldscript_keymap_avr5.x deleted file mode 100644 index 9b46e6c36..000000000 --- a/tmk_core/ldscript_keymap_avr5.x +++ /dev/null | |||
@@ -1,268 +0,0 @@ | |||
1 | /* | ||
2 | * linker script for configurable keymap | ||
3 | * | ||
4 | * This adds keymap section which places keymap at fixed address and | ||
5 | * is based on binutils-avr ldscripts(/usr/lib/ldscripts/avr5.x). | ||
6 | */ | ||
7 | OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") | ||
8 | OUTPUT_ARCH(avr:5) | ||
9 | MEMORY | ||
10 | { | ||
11 | /* With keymap section | ||
12 | * | ||
13 | * Flash Map of ATMega32U4(32KB) | ||
14 | * +------------+ 0x0000 | ||
15 | * | .vectors | | ||
16 | * | .progmem | | ||
17 | * | .init0-9 | > text region | ||
18 | * | .text | | ||
19 | * | .fini9-0 | | ||
20 | * | | | ||
21 | * |------------| _etext | ||
22 | * | .data | | ||
23 | * | .bss | > data region | ||
24 | * | .noinit | | ||
25 | * | | | ||
26 | * |------------| 0x6800 | ||
27 | * | .keymap | > keymap region(2KB) | ||
28 | * |------------| 0x7000 | ||
29 | * | bootloader | 4KB | ||
30 | * +------------+ 0x7FFF | ||
31 | */ | ||
32 | text (rx) : ORIGIN = 0, LENGTH = 128K | ||
33 | keymap (rw!x) : ORIGIN = 0x6800, LENGTH = 2K | ||
34 | data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0 | ||
35 | eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K | ||
36 | fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K | ||
37 | lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K | ||
38 | signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K | ||
39 | } | ||
40 | SECTIONS | ||
41 | { | ||
42 | /* Read-only sections, merged into text segment: */ | ||
43 | .hash : { *(.hash) } | ||
44 | .dynsym : { *(.dynsym) } | ||
45 | .dynstr : { *(.dynstr) } | ||
46 | .gnu.version : { *(.gnu.version) } | ||
47 | .gnu.version_d : { *(.gnu.version_d) } | ||
48 | .gnu.version_r : { *(.gnu.version_r) } | ||
49 | .rel.init : { *(.rel.init) } | ||
50 | .rela.init : { *(.rela.init) } | ||
51 | .rel.text : | ||
52 | { | ||
53 | *(.rel.text) | ||
54 | *(.rel.text.*) | ||
55 | *(.rel.gnu.linkonce.t*) | ||
56 | } | ||
57 | .rela.text : | ||
58 | { | ||
59 | *(.rela.text) | ||
60 | *(.rela.text.*) | ||
61 | *(.rela.gnu.linkonce.t*) | ||
62 | } | ||
63 | .rel.fini : { *(.rel.fini) } | ||
64 | .rela.fini : { *(.rela.fini) } | ||
65 | .rel.rodata : | ||
66 | { | ||
67 | *(.rel.rodata) | ||
68 | *(.rel.rodata.*) | ||
69 | *(.rel.gnu.linkonce.r*) | ||
70 | } | ||
71 | .rela.rodata : | ||
72 | { | ||
73 | *(.rela.rodata) | ||
74 | *(.rela.rodata.*) | ||
75 | *(.rela.gnu.linkonce.r*) | ||
76 | } | ||
77 | .rel.data : | ||
78 | { | ||
79 | *(.rel.data) | ||
80 | *(.rel.data.*) | ||
81 | *(.rel.gnu.linkonce.d*) | ||
82 | } | ||
83 | .rela.data : | ||
84 | { | ||
85 | *(.rela.data) | ||
86 | *(.rela.data.*) | ||
87 | *(.rela.gnu.linkonce.d*) | ||
88 | } | ||
89 | .rel.ctors : { *(.rel.ctors) } | ||
90 | .rela.ctors : { *(.rela.ctors) } | ||
91 | .rel.dtors : { *(.rel.dtors) } | ||
92 | .rela.dtors : { *(.rela.dtors) } | ||
93 | .rel.got : { *(.rel.got) } | ||
94 | .rela.got : { *(.rela.got) } | ||
95 | .rel.bss : { *(.rel.bss) } | ||
96 | .rela.bss : { *(.rela.bss) } | ||
97 | .rel.plt : { *(.rel.plt) } | ||
98 | .rela.plt : { *(.rela.plt) } | ||
99 | /* Internal text space or external memory. */ | ||
100 | .text : | ||
101 | { | ||
102 | *(.vectors) | ||
103 | KEEP(*(.vectors)) | ||
104 | /* For data that needs to reside in the lower 64k of progmem. */ | ||
105 | *(.progmem.gcc*) | ||
106 | *(.progmem*) | ||
107 | . = ALIGN(2); | ||
108 | __trampolines_start = . ; | ||
109 | /* The jump trampolines for the 16-bit limited relocs will reside here. */ | ||
110 | *(.trampolines) | ||
111 | *(.trampolines*) | ||
112 | __trampolines_end = . ; | ||
113 | /* For future tablejump instruction arrays for 3 byte pc devices. | ||
114 | We don't relax jump/call instructions within these sections. */ | ||
115 | *(.jumptables) | ||
116 | *(.jumptables*) | ||
117 | /* For code that needs to reside in the lower 128k progmem. */ | ||
118 | *(.lowtext) | ||
119 | *(.lowtext*) | ||
120 | __ctors_start = . ; | ||
121 | *(.ctors) | ||
122 | __ctors_end = . ; | ||
123 | __dtors_start = . ; | ||
124 | *(.dtors) | ||
125 | __dtors_end = . ; | ||
126 | KEEP(SORT(*)(.ctors)) | ||
127 | KEEP(SORT(*)(.dtors)) | ||
128 | /* From this point on, we don't bother about wether the insns are | ||
129 | below or above the 16 bits boundary. */ | ||
130 | *(.init0) /* Start here after reset. */ | ||
131 | KEEP (*(.init0)) | ||
132 | *(.init1) | ||
133 | KEEP (*(.init1)) | ||
134 | *(.init2) /* Clear __zero_reg__, set up stack pointer. */ | ||
135 | KEEP (*(.init2)) | ||
136 | *(.init3) | ||
137 | KEEP (*(.init3)) | ||
138 | *(.init4) /* Initialize data and BSS. */ | ||
139 | KEEP (*(.init4)) | ||
140 | *(.init5) | ||
141 | KEEP (*(.init5)) | ||
142 | *(.init6) /* C++ constructors. */ | ||
143 | KEEP (*(.init6)) | ||
144 | *(.init7) | ||
145 | KEEP (*(.init7)) | ||
146 | *(.init8) | ||
147 | KEEP (*(.init8)) | ||
148 | *(.init9) /* Call main(). */ | ||
149 | KEEP (*(.init9)) | ||
150 | *(.text) | ||
151 | . = ALIGN(2); | ||
152 | *(.text.*) | ||
153 | . = ALIGN(2); | ||
154 | *(.fini9) /* _exit() starts here. */ | ||
155 | KEEP (*(.fini9)) | ||
156 | *(.fini8) | ||
157 | KEEP (*(.fini8)) | ||
158 | *(.fini7) | ||
159 | KEEP (*(.fini7)) | ||
160 | *(.fini6) /* C++ destructors. */ | ||
161 | KEEP (*(.fini6)) | ||
162 | *(.fini5) | ||
163 | KEEP (*(.fini5)) | ||
164 | *(.fini4) | ||
165 | KEEP (*(.fini4)) | ||
166 | *(.fini3) | ||
167 | KEEP (*(.fini3)) | ||
168 | *(.fini2) | ||
169 | KEEP (*(.fini2)) | ||
170 | *(.fini1) | ||
171 | KEEP (*(.fini1)) | ||
172 | *(.fini0) /* Infinite loop after program termination. */ | ||
173 | KEEP (*(.fini0)) | ||
174 | _etext = . ; | ||
175 | } > text | ||
176 | .data : AT (ADDR (.text) + SIZEOF (.text)) | ||
177 | { | ||
178 | PROVIDE (__data_start = .) ; | ||
179 | *(.data) | ||
180 | *(.data*) | ||
181 | *(.rodata) /* We need to include .rodata here if gcc is used */ | ||
182 | *(.rodata*) /* with -fdata-sections. */ | ||
183 | *(.gnu.linkonce.d*) | ||
184 | . = ALIGN(2); | ||
185 | _edata = . ; | ||
186 | PROVIDE (__data_end = .) ; | ||
187 | } > data | ||
188 | .bss : AT (ADDR (.bss)) | ||
189 | { | ||
190 | PROVIDE (__bss_start = .) ; | ||
191 | *(.bss) | ||
192 | *(.bss*) | ||
193 | *(COMMON) | ||
194 | PROVIDE (__bss_end = .) ; | ||
195 | } > data | ||
196 | __data_load_start = LOADADDR(.data); | ||
197 | __data_load_end = __data_load_start + SIZEOF(.data); | ||
198 | /* Global data not cleared after reset. */ | ||
199 | .noinit : | ||
200 | { | ||
201 | PROVIDE (__noinit_start = .) ; | ||
202 | *(.noinit*) | ||
203 | PROVIDE (__noinit_end = .) ; | ||
204 | _end = . ; | ||
205 | PROVIDE (__heap_start = .) ; | ||
206 | } > data | ||
207 | /* keymap region is located at end of flash | ||
208 | * .fn_actions Fn actions definitions | ||
209 | * .keymaps Mapping layers | ||
210 | */ | ||
211 | .keymap : | ||
212 | { | ||
213 | PROVIDE(__keymap_start = .) ; | ||
214 | *(.keymap.fn_actions) /* 32*actions = 64bytes */ | ||
215 | . = ALIGN(0x40); | ||
216 | *(.keymap.keymaps) /* rest of .keymap section */ | ||
217 | *(.keymap*) | ||
218 | /* . = ALIGN(0x800); */ /* keymap section takes 2KB- */ | ||
219 | } > keymap = 0x00 /* zero fill */ | ||
220 | .eeprom : | ||
221 | { | ||
222 | *(.eeprom*) | ||
223 | __eeprom_end = . ; | ||
224 | } > eeprom | ||
225 | .fuse : | ||
226 | { | ||
227 | KEEP(*(.fuse)) | ||
228 | KEEP(*(.lfuse)) | ||
229 | KEEP(*(.hfuse)) | ||
230 | KEEP(*(.efuse)) | ||
231 | } > fuse | ||
232 | .lock : | ||
233 | { | ||
234 | KEEP(*(.lock*)) | ||
235 | } > lock | ||
236 | .signature : | ||
237 | { | ||
238 | KEEP(*(.signature*)) | ||
239 | } > signature | ||
240 | /* Stabs debugging sections. */ | ||
241 | .stab 0 : { *(.stab) } | ||
242 | .stabstr 0 : { *(.stabstr) } | ||
243 | .stab.excl 0 : { *(.stab.excl) } | ||
244 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
245 | .stab.index 0 : { *(.stab.index) } | ||
246 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
247 | .comment 0 : { *(.comment) } | ||
248 | /* DWARF debug sections. | ||
249 | Symbols in the DWARF debugging sections are relative to the beginning | ||
250 | of the section so we begin them at 0. */ | ||
251 | /* DWARF 1 */ | ||
252 | .debug 0 : { *(.debug) } | ||
253 | .line 0 : { *(.line) } | ||
254 | /* GNU DWARF 1 extensions */ | ||
255 | .debug_srcinfo 0 : { *(.debug_srcinfo) } | ||
256 | .debug_sfnames 0 : { *(.debug_sfnames) } | ||
257 | /* DWARF 1.1 and DWARF 2 */ | ||
258 | .debug_aranges 0 : { *(.debug_aranges) } | ||
259 | .debug_pubnames 0 : { *(.debug_pubnames) } | ||
260 | /* DWARF 2 */ | ||
261 | .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } | ||
262 | .debug_abbrev 0 : { *(.debug_abbrev) } | ||
263 | .debug_line 0 : { *(.debug_line) } | ||
264 | .debug_frame 0 : { *(.debug_frame) } | ||
265 | .debug_str 0 : { *(.debug_str) } | ||
266 | .debug_loc 0 : { *(.debug_loc) } | ||
267 | .debug_macinfo 0 : { *(.debug_macinfo) } | ||
268 | } | ||