aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/aout-cris.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2e33136..bc4f246 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-28 Örjan Friberg <orjanf@axis.com>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ * aout-cris.c (N_TXTADDR): Define.
+
2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
* som.c: Include alloca-conf.h.
diff --git a/bfd/aout-cris.c b/bfd/aout-cris.c
index 36f8553..a531bcb 100644
--- a/bfd/aout-cris.c
+++ b/bfd/aout-cris.c
@@ -28,6 +28,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define ENTRY_CAN_BE_ZERO
#define TEXT_START_ADDR 0
+/* Without reading symbols to get the text start symbol, there is no way
+ to know where the text segment starts in an a.out file. Defaulting to
+ anything as constant as TEXT_START_ADDR is bad. But we can guess from
+ the entry point, which is usually within the first 64k of the text
+ segment. We also assume here that the text segment is 64k-aligned.
+ FIXME: It is also wrong to assume that data and bss follow immediately
+ after text, but with those, we don't have any choice besides reading
+ symbol info, and luckily there's no pressing need for correctness for
+ those vma:s at this time. */
+#define N_TXTADDR(x) ((x).a_entry & ~0xffff)
+
/* If you change this to 4, you can not link to an address N*4+2. */
#define SEGMENT_SIZE 2