aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-03-20 17:27:51 +0000
committerJeff Law <law@redhat.com>1994-03-20 17:27:51 +0000
commit142f59f4a9315edb63c6df129a5496e1ca5bd027 (patch)
tree0b1a8e4c2f414758eab926a5f4c7c67eac810038
parent47dc9b52c2ca81cd74c6970e66891335fde4382d (diff)
downloadgdb-142f59f4a9315edb63c6df129a5496e1ca5bd027.zip
gdb-142f59f4a9315edb63c6df129a5496e1ca5bd027.tar.gz
gdb-142f59f4a9315edb63c6df129a5496e1ca5bd027.tar.bz2
* som.c (som_begin_writing): Align text in all executables to
make HPUX kernel happy. Fixes strip/objcopy for shared executables.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/som.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ba3dc0c..1fff79b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * som.c (som_begin_writing): Align text in all executables to
+ make HPUX kernel happy. Fixes strip/objcopy for shared
+ executables.
+
Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* som.c (som_begin_writing): Account for alignment needs of
diff --git a/bfd/som.c b/bfd/som.c
index f17e064..a355b75 100644
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -2980,8 +2980,12 @@ som_begin_writing (abfd)
/* Demand paged executables have each space aligned to a
page boundary. Sharable executables (write-protected
text) have just the private (aka data & bss) space aligned
- to a page boundary. */
+ to a page boundary. Ugh. Not true for HPUX.
+
+ The HPUX kernel requires the text to always be page aligned
+ within the file regardless of the executable's type. */
if (abfd->flags & D_PAGED
+ || (subsection->flags & SEC_CODE)
|| ((abfd->flags & WP_TEXT)
&& (subsection->flags & SEC_DATA)))
current_offset = SOM_ALIGN (current_offset, PA_PAGESIZE);