diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-10-29 22:56:08 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-10-29 22:56:08 -0700 |
commit | 10e27271330792a2d33cf08c5002c73cd2d7b201 (patch) | |
tree | 590c66d4452a4cdadbd76c03777bd882f1bed705 | |
parent | 2ce0274303000c95f5f503f1fb0db86fd108b06e (diff) | |
download | nasm-10e27271330792a2d33cf08c5002c73cd2d7b201.tar.gz |
Don't warn for segmented references
Don't warn for overflow in segmented references; those are linker
references and it is up to the backend or the linker to warn if they
overflow their permitted size.
-rw-r--r-- | assemble.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1247,7 +1247,9 @@ static void gencode(int32_t segment, int32_t offset, int bits, else size = (bits == 16) ? 2 : 4; data = ins->oprs[c - 034].offset; - warn_overflow(size, data); + if (ins->oprs[c - 034].segment == NO_SEG && + ins->oprs[c - 034].wrt == NO_SEG) + warn_overflow(size, data); out(offset, segment, &data, OUT_ADDRESS + size, ins->oprs[c - 034].segment, ins->oprs[c - 034].wrt); offset += size; @@ -1269,7 +1271,9 @@ static void gencode(int32_t segment, int32_t offset, int bits, case 047: data = ins->oprs[c - 044].offset; size = ins->addr_size >> 3; - warn_overflow(size, data); + if (ins->oprs[c - 044].segment == NO_SEG && + ins->oprs[c - 044].wrt == NO_SEG) + warn_overflow(size, data); out(offset, segment, &data, OUT_ADDRESS + size, ins->oprs[c - 044].segment, ins->oprs[c - 044].wrt); offset += size; |