aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-20 20:46:34 +0200
committerlemon <lsof@mailbox.org>2023-06-20 20:46:34 +0200
commitfdf047b7d1f737ce8b892b08370ac9a1bedcda73 (patch)
treeab43bfad0628de15e3a3a6b0b445b136ff2b52fa
parent477bc4b6e043e37e411ca99ffcf340b965bb42f6 (diff)
elf: fix emitting small dats
-rw-r--r--elf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/elf.c b/elf.c
index 49c9d83..934e4f8 100644
--- a/elf.c
+++ b/elf.c
@@ -140,12 +140,12 @@ elfputdat(const struct irdat *dat)
static const char zero[8];
enum section s;
uint off;
- uint ndat = dat->siz < 8 ? dat->siz : dat->dat.n;
+ uint ndat = dat->siz <= 8 ? dat->siz : dat->dat.n;
uint nzr = dat->siz - ndat;
- const uchar *d = dat->siz < 8 ? dat->sdat : dat->dat.p;
+ const uchar *d = dat->siz <= 8 ? dat->sdat : dat->dat.p;
assert(dat->siz);
- if (!dat->syms && (dat->siz >= 8 ? !d : !memcmp(d, zero, dat->siz))) {
+ if (!dat->syms && (dat->siz > 8 ? !d : !memcmp(d, zero, dat->siz))) {
/* all zeroes */
s = Sbss;
} else {