Change behavior of merging FRAGMENTs to constrain each fragment individually

Additionally, remove the deprecated merging of non-fragment SECTIONs
This commit is contained in:
ISSOtm
2021-01-21 19:41:04 +01:00
committed by Eldred Habert
parent 6623b1dc45
commit 76446e6d00
60 changed files with 604 additions and 232 deletions

View File

@@ -0,0 +1,20 @@
SECTION FRAGMENT "Frag", ROM0/*[1]*/
db $40
SECTION "Word", ROM0/*[6]*/
dw $78d5
SECTION FRAGMENT "Frag", ROM0/*[2]*/,ALIGN[1]
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44

View File

@@ -0,0 +1,5 @@
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2 ; Uh oh

View File

@@ -0,0 +1 @@
error: Section "Frag" is defined with conflicting 2-byte alignment (offset 1) and 4-byte alignment (offset 3)

View File

@@ -0,0 +1,20 @@
SECTION FRAGMENT "Frag", ROM0/*[1]*/
db $40
SECTION "Word", ROM0/*[5]*/
dw $78d5
SECTION FRAGMENT "Frag", ROM0/*[2]*/,ALIGN[1]
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44

View File

@@ -0,0 +1,5 @@
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2, 1

View File

View File

@@ -0,0 +1 @@
D@.{<7B>x

View File

@@ -0,0 +1,8 @@
SECTION FRAGMENT "Frag", ROM0[0] ; Uh oh
db $40
SECTION "Word", ROM0/*[6]*/
dw $78d5

View File

@@ -0,0 +1,17 @@
SECTION FRAGMENT "Frag", ROM0/*[2]*/,ALIGN[1]
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2, 1

View File

@@ -0,0 +1 @@
error: Section "Frag" is defined with conflicting address $0000 and 4-byte alignment (offset 2)

View File

@@ -0,0 +1,25 @@
SECTION "Word", ROM0/*[5]*/
dw $78df
SECTION FRAGMENT "Frag", ROM0/*[1]*/
db $40
SECTION FRAGMENT "Frag", ROM0/*[2]*/
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/,ALIGN[1,1]
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2, 1

View File

@@ -0,0 +1,2 @@
SECTION FRAGMENT "Frag", ROM0[6] ; Uh oh

View File

@@ -0,0 +1 @@
error: Section "Frag" is defined with conflicting 4-byte alignment (offset 1) and address $0006

View File

@@ -0,0 +1,25 @@
SECTION "Word", ROM0/*[5]*/
dw $78df
SECTION FRAGMENT "Frag", ROM0/*[1]*/
db $40
SECTION FRAGMENT "Frag", ROM0/*[2]*/
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/,ALIGN[1,1]
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2, 1

View File

@@ -0,0 +1,2 @@
SECTION FRAGMENT "Frag", ROM0[5]

View File

View File

@@ -0,0 +1 @@
D@.{<7B>x

View File

@@ -0,0 +1,8 @@
SECTION FRAGMENT "Frag", ROM0[1]
db $40
SECTION "Word", ROM0/*[6]*/
dw $78d5

View File

@@ -0,0 +1,17 @@
SECTION FRAGMENT "Frag", ROM0/*[2]*/,ALIGN[1]
db $2e
SECTION FRAGMENT "Frag", ROM0/*[3]*/
db $1f
SECTION "Byte", ROM0/*[0]*/
db $44
SECTION FRAGMENT "Frag", ROM0/*[4]*/
db $7b
align 2, 1

View File

View File

@@ -0,0 +1 @@
D@.{<7B>x