summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-09-18 22:23:42 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-09-18 22:23:42 -0700
commit69db8c6963aab103d1cf9c2735c49bd25c28fb6b (patch)
tree264c8988a6ac4f51452506bdc9b58c8fd51e9763
parent8084f105a251b025176b293a5232295fcd39f1d3 (diff)
parent9b0d41ddd440bc040db8515f27e0ebe828449eca (diff)
downloadnasm-69db8c6963aab103d1cf9c2735c49bd25c28fb6b.tar.gz
Merge commit 'origin/master' into sse5
-rw-r--r--output/outelf64.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/output/outelf64.c b/output/outelf64.c
index 4424d814..e87d8bdc 100644
--- a/output/outelf64.c
+++ b/output/outelf64.c
@@ -74,7 +74,7 @@ struct Symbol {
int32_t section; /* section ID of the symbol */
int type; /* symbol type */
int other; /* symbol visibility */
- int32_t value; /* address, or COMMON variable align */
+ int64_t value; /* address, or COMMON variable align */
int32_t size; /* size of symbol */
int32_t globnum; /* symbol table offset if global */
struct Symbol *next; /* list of globals in each section */
@@ -709,7 +709,7 @@ static void elf_add_reloc(struct Section *sect, int32_t segment, int type)
* isn't even necessarily sorted.
*/
static int32_t elf_add_gsym_reloc(struct Section *sect,
- int32_t segment, int32_t offset,
+ int32_t segment, int64_t offset,
int type, int exact)
{
struct Reloc *r;
@@ -779,7 +779,7 @@ static void elf_out(int32_t segto, const void *data, uint32_t type,
{
struct Section *s;
int32_t realbytes = type & OUT_SIZMASK;
- int32_t addr;
+ int64_t addr;
uint8_t mydata[16], *p;
int i;
static struct symlininfo sinfo;
@@ -851,7 +851,7 @@ static void elf_out(int32_t segto, const void *data, uint32_t type,
elf_sect_write(s, data, realbytes);
} else if (type == OUT_ADDRESS) {
int gnu16 = 0;
- addr = *(int32_t *)data;
+ addr = *(int64_t *)data;
if (segment != NO_SEG) {
if (segment % 2) {
error(ERR_NONFATAL, "ELF format does not support"