aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinclude/aout64.h18
-rw-r--r--include/bfd.h2
2 files changed, 16 insertions, 4 deletions
diff --git a/include/aout64.h b/include/aout64.h
index 96a29b5..750cde5 100755
--- a/include/aout64.h
+++ b/include/aout64.h
@@ -46,15 +46,27 @@ struct external_exec
#ifndef N_TXTADDR
#define N_TXTADDR(x) \
- (N_MAGIC(x)!=ZMAGIC? 0 \
- : N_HEADER_IN_TEXT(x) ? TEXT_START_ADDR+EXEC_BYTES_SIZE \
- : TEXT_START_ADDR)
+ (N_MAGIC(x)!=ZMAGIC? 0 : TEXT_START_ADDR)
#endif
/* Offset in an a.out of the start of the text section. */
#define N_TXTOFF(x) ( N_MAGIC(x) != ZMAGIC ? EXEC_BYTES_SIZE \
+ : N_HEADER_IN_TEXT(x) ? 0 : PAGE_SIZE)
+
+/* These are the same as N_TXTADDR and N_TXTOFF,
+ but never consider the exec header to be includes in the text. */
+
+#define LOGICAL_TXTADDR(x) \
+ (N_MAGIC(x)!=ZMAGIC? 0 \
+ : N_HEADER_IN_TEXT(x) ? TEXT_START_ADDR+EXEC_BYTES_SIZE \
+ : TEXT_START_ADDR)
+#define LOGICAL_TXTOFF(x) ( N_MAGIC(x) != ZMAGIC ? EXEC_BYTES_SIZE \
: N_HEADER_IN_TEXT(x) ? EXEC_BYTES_SIZE : PAGE_SIZE)
+#define LOGICAL_TXTSIZE(x) \
+ ((x).a_text \
+ - (N_HEADER_IN_TEXT(x) && N_MAGIC(x)==ZMAGIC ? EXEC_BYTES_SIZE : 0))
+
#if ARCH_SIZE==64
#define OMAGIC 0x1001 /* Code indicating object file */
#define ZMAGIC 0x1002 /* Code indicating demand-paged executable. */
diff --git a/include/bfd.h b/include/bfd.h
index 345e8e0..d85694a 100644
--- a/include/bfd.h
+++ b/include/bfd.h
@@ -293,7 +293,7 @@ extern CONST short _bfd_host_big_endian;
#define bfd_get_file_flags(abfd) ((abfd)->flags)
#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
-#define bfd_my_archive(abfd) ((abfd)->my_archive);
+#define bfd_my_archive(abfd) ((abfd)->my_archive)
#define bfd_has_map(abfd) ((abfd)->has_armap)
#define bfd_header_twiddle_required(abfd) \
((((abfd)->xvec->header_byteorder_big_p) \