summaryrefslogtreecommitdiff
path: root/dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch')
-rw-r--r--dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch182
1 files changed, 0 insertions, 182 deletions
diff --git a/dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch b/dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch
deleted file mode 100644
index f743ec343f62..000000000000
--- a/dev-embedded/gputils/files/gputils-0.13.6-code_pack.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-Index: gpasm/lst.c
-===================================================================
---- gpasm/lst.c (revision 541)
-+++ gpasm/lst.c (revision 542)
-@@ -212,11 +212,75 @@
- }
- }
-
-+unsigned int lst_data(char *m, unsigned int byte_org,
-+ unsigned int bytes_emitted, size_t sizeof_m)
-+{
-+ char buf[BUFSIZ];
-+ unsigned int i;
-+ unsigned int lst_bytes = 0;
-+
-+ if ((byte_org & 1) != 0) {
-+ /* not word-aligned */
-+ /* list first byte */
-+ unsigned char emit_byte = (unsigned char)(i_memory_get(state.i_memory,
-+ (byte_org >> 1)) >> 8);
-+ snprintf(buf, sizeof(buf), "%02X", emit_byte);
-+ strncat(m, buf, sizeof_m);
-+ ++lst_bytes;
-+ /* list whole words */
-+ for (i = 0; (i < ((bytes_emitted-1) >> 1)) && (i < 1); ++i) {
-+ unsigned int emit_word = i_memory_get(state.i_memory,
-+ ((byte_org+1) >> 1) + i) & 0xffff;
-+ snprintf(buf, sizeof(buf), "%02X %02X", emit_word & 0x00ff,
-+ emit_word >> 8);
-+ strncat(m, buf, sizeof_m);
-+ lst_bytes += 2;
-+ }
-+ /* list extra byte if odd */
-+ if (((byte_org+bytes_emitted) & 1) != 0) {
-+ snprintf(buf, sizeof(buf), "%02X ", i_memory_get(state.i_memory,
-+ ((byte_org + bytes_emitted - 2) >> 1)) & 0x00ff);
-+ strncat(m, buf, sizeof_m);
-+ ++lst_bytes;
-+ }
-+ else {
-+ strncat(m, " ", sizeof_m);
-+ }
-+ }
-+ else { /* word-aligned */
-+ /* list full words as bytes */
-+ for (i = 0; (i < (bytes_emitted >> 1)) && (i < 2); ++i) {
-+ unsigned int emit_word = i_memory_get(state.i_memory,
-+ (byte_org>>1) + i) & 0xffff;
-+ snprintf(buf, sizeof(buf), "%04X ", emit_word);
-+ strncat(m, buf, sizeof_m);
-+ lst_bytes += 2;
-+ }
-+ if (bytes_emitted < 4) {
-+ /* list extra byte if odd */
-+ if (((byte_org+bytes_emitted) & 1) != 0) {
-+ snprintf(buf, sizeof(buf), "%02X ", i_memory_get(state.i_memory,
-+ (byte_org+bytes_emitted)>>1) & 0x00ff);
-+ strncat(m, buf, sizeof_m);
-+ ++lst_bytes;
-+ }
-+ else {
-+ strncat(m, " ", sizeof_m);
-+ }
-+ }
-+ }
-+
-+ return lst_bytes;
-+}
-+
- void lst_format_line(char *src_line, int value)
- {
- char m[BUFSIZ];
- char buf[BUFSIZ];
- unsigned int emitted = 0;
-+ unsigned int byte_org = 0;
-+ unsigned int bytes_emitted = 0;
-+ unsigned int lst_bytes;
-
- assert(src_line != NULL);
-
-@@ -239,41 +303,21 @@
- state.device.id_location + 1) & 0xffff);
- break;
- case insn:
-- emitted = state.org - state.lst.line.was_org
-- + (state.obj.section &&
-- state.obj.section->emitted_pack_byte ? 1 : 0);
-- snprintf(m, sizeof(m), "%04X ", (state.lst.line.was_org << _16bit_core)
-- - (state.obj.section &&
-- ((emitted == 0 &&
-- state.obj.section->have_pack_byte) ||
-- state.obj.section->emitted_pack_byte) ? 1 : 0));
-+ byte_org = (state.lst.line.was_org << 1);
-+ if (state.obj.section)
-+ byte_org -= (state.obj.section->emitted_pack_byte ? 1 : 0);
-+ bytes_emitted = (state.org << 1) - byte_org;
-+ if (state.obj.section)
-+ bytes_emitted -= (state.obj.section->have_pack_byte ? 1 : 0);
-+ emitted = (bytes_emitted >> 1);
-+ if (((byte_org & 1) == 0) && ((bytes_emitted & 1) != 0))
-+ emitted += 1;
-+ snprintf(m, sizeof(m), "%04X ", byte_org >> (1 - _16bit_core));
-
-- if (emitted >= 1) {
-- if(state.obj.section && state.obj.section->have_pack_byte && emitted == 1)
-- snprintf(buf, sizeof(buf), "%02X ", i_memory_get(state.i_memory, state.lst.line.was_org) & 0xff);
-- else if(state.obj.section && state.obj.section->emitted_pack_byte)
-- snprintf(buf, sizeof(buf), " %02X ", (i_memory_get(state.i_memory, state.lst.line.was_org - 1) & 0xff00) >> 8);
-- else
-- snprintf(buf, sizeof(buf), "%04X ", i_memory_get(state.i_memory,
-- state.lst.line.was_org) & 0xffff);
-+ lst_bytes = lst_data(m, byte_org, bytes_emitted, sizeof(m));
-+ byte_org += lst_bytes;
-+ bytes_emitted -= lst_bytes;
-
-- strncat(m, buf, sizeof(m));
-- } else
-- strncat(m, " ", sizeof(m));
--
-- if (emitted >= 2) {
-- if(state.obj.section && state.obj.section->have_pack_byte && emitted == 2)
-- snprintf(buf, sizeof(buf), "%02X ", i_memory_get(state.i_memory,
-- state.lst.line.was_org
-- + (state.obj.section->emitted_pack_byte ? 0 : 1)) & 0xffff);
-- else
-- snprintf(buf, sizeof(buf), "%04X ", i_memory_get(state.i_memory,
-- state.lst.line.was_org
-- + (state.obj.section &&
-- state.obj.section->emitted_pack_byte ? 0 : 1)) & 0xffff);
-- strncat(m, buf, sizeof(buf));
-- } else
-- strncat(m, " ", sizeof(m));
- break;
- case config:
- if(_16bit_core) {
-@@ -376,39 +420,16 @@
- lst_line(m);
- }
-
-- if (emitted > 2) {
-- int i;
-+ if (bytes_emitted > 0) {
-+ while (bytes_emitted > 0) {
-+ /* data left to print on separate lines */
-
-- for (i = 2; i < emitted; i += 2) {
-- unsigned int org = state.lst.line.was_org + i -
-- (state.obj.section && state.obj.section->emitted_pack_byte ? 1 : 0);
--
-- if ((i + 1) < emitted)
-- if(state.obj.section && state.obj.section->have_pack_byte)
-- snprintf(m, sizeof(m), "%04X %04X %02X ",
-- org << _16bit_core,
-- i_memory_get(state.i_memory, org) & 0xffff,
-- i_memory_get(state.i_memory, org + 1) & 0xff);
-- else
-- snprintf(m, sizeof(m), "%04X %04X %04X",
-- org << _16bit_core,
-- i_memory_get(state.i_memory, org) & 0xffff,
-- i_memory_get(state.i_memory, org + 1) & 0xffff);
-- else {
-- if(state.obj.section && state.obj.section->have_pack_byte)
-- snprintf(m, sizeof(m), "%04X %02X ",
-- ((state.lst.line.was_org + i) << _16bit_core),
-- i_memory_get(state.i_memory,
-- state.lst.line.was_org + i) & 0xff);
-- else
-- snprintf(m, sizeof(m), "%04X %04X",
-- ((state.lst.line.was_org + i) << _16bit_core),
-- i_memory_get(state.i_memory,
-- state.lst.line.was_org + i) & 0xffff);
-- }
-+ strncpy(m, " ", sizeof(m));
-+ lst_bytes = lst_data(m, byte_org, bytes_emitted, sizeof(m));
-+ byte_org += lst_bytes;
-+ bytes_emitted -= lst_bytes;
- lst_line(m);
- }
--
- state.cod.emitting = 0;
- }
-