Mercurial > hg > index.cgi
comparison lwlink/lwlink.h @ 523:1744f2d1a821
Change behaviour of --format=raw; old behaviour kept for --format=raw2
Make the default --format=raw output just ignore BSS flagged sections. If
you put any in the middle of your code, your output file will break. Don't
do dumb things like that.
If you really need the old behaviour, change to --format=raw2
Neither behaviour is really ideal but doing the "right" thing is a boatload
more complicated and is still going to do the wrong thing from time to time.
Most situations will likely load the BSS sections with separate link script
directives anyway or be assembling directly to raw without using the linker.
author | William Astle <lost@l-w.ca> |
---|---|
date | Mon, 24 Jan 2022 13:55:40 -0700 |
parents | 221b5f58d8ad |
children | cde1a5a48636 |
comparison
equal
deleted
inserted
replaced
522:01bdad2118aa | 523:1744f2d1a821 |
---|---|
25 #define __lwlink_h_seen__ | 25 #define __lwlink_h_seen__ |
26 | 26 |
27 #include "expr.h" | 27 #include "expr.h" |
28 | 28 |
29 #define OUTPUT_DECB 0 // DECB multirecord format | 29 #define OUTPUT_DECB 0 // DECB multirecord format |
30 #define OUTPUT_RAW 1 // raw sequence of bytes | 30 #define OUTPUT_RAW 1 // raw sequence of bytes; BSS is just not included |
31 #define OUTPUT_LWEX0 2 // LWOS LWEX binary version 0 | 31 #define OUTPUT_LWEX0 2 // LWOS LWEX binary version 0 |
32 #define OUTPUT_OS9 3 // OS9 object code module | 32 #define OUTPUT_OS9 3 // OS9 object code module |
33 #define OUTPUT_SREC 4 // motorola SREC format | 33 #define OUTPUT_SREC 4 // motorola SREC format |
34 #define OUTPUT_RAW2 5 // raw sequence of bytes, BSS converted to NULs | |
34 | 35 |
35 typedef struct symtab_s symtab_t; | 36 typedef struct symtab_s symtab_t; |
36 struct symtab_s | 37 struct symtab_s |
37 { | 38 { |
38 unsigned char *sym; // symbol name | 39 unsigned char *sym; // symbol name |