diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/scripttempl/crisaout.sc | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 1ec8006..7642244 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2000-10-18 Hans-Peter Nilsson <hp@axis.com> + + * scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32), + for consecutive sections. + 2000-10-17 Chandrakala Chavva <cchavva@redhat.com> * lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific diff --git a/ld/scripttempl/crisaout.sc b/ld/scripttempl/crisaout.sc index 927ec9c..e909af3 100644 --- a/ld/scripttempl/crisaout.sc +++ b/ld/scripttempl/crisaout.sc @@ -62,6 +62,14 @@ SECTIONS ${CONSTRUCTING+ PROVIDE(___dtors_end = .);} ${CONSTRUCTING+ ___elf_ctors_dtors_end = .;} + /* We include objects that force alignment of the data segment. + Unfortunately that sometimes causes a gap between .text and .data, + which is not detectable since .data does not have a start address + of itself in the a.out header. This should only matter for + testing; for production use, .data is at a "known" location. + We assume .data does not get an alignment larger than 32 bytes. */ + ${RELOCATING+. = ALIGN (32);} + ${RELOCATING+ __Etext = .;} /* Deprecated, use __Etext. */ @@ -82,6 +90,10 @@ SECTIONS ${RELOCATING+*(.gnu.linkonce.d*)} ${RELOCATING+*(.eh_frame) /* FIXME: Make .text */} ${RELOCATING+*(.gcc_except_table)} + + /* See comment at ALIGN before __Etext. */ + ${RELOCATING+. = ALIGN (32);} + ${RELOCATING+ __Edata = .;} /* Deprecated, use __Edata. */ |