Mon Oct 20 15:01:27 1997 Klaus K"ampf <kkaempf@progis.de>
authorIan Lance Taylor <ian@airs.com>
Mon, 20 Oct 1997 19:08:15 +0000 (19:08 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 20 Oct 1997 19:08:15 +0000 (19:08 +0000)
* evax-egsd.c: make section flags dec c compatible

bfd/ChangeLog
bfd/evax-egsd.c

index 1c554e3..b240295 100644 (file)
@@ -1,3 +1,7 @@
+Mon Oct 20 15:01:27 1997  Klaus K"ampf  <kkaempf@progis.de>
+
+       * evax-egsd.c: make section flags dec c compatible
+
 Mon Oct 20 09:38:31 1997  Jeffrey A Law  (law@cygnus.com)
 
        * som.c (normalize): Delete function.
index 8354b8b..cd12039 100644 (file)
@@ -41,6 +41,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define EVAX_LINK_NAME         "$LINK$"
 #define EVAX_DATA_NAME         "$DATA$"
 #define EVAX_BSS_NAME          "$BSS$"
+#define EVAX_READONLYADDR_NAME "$READONLY_ADDR$"
 #define EVAX_READONLY_NAME     "$READONLY$"
 #define EVAX_LITERAL_NAME      "$LITERAL$"
 #define EVAX_COMMON_NAME       "$COMMON$"
@@ -54,7 +55,7 @@ struct sec_flags_struct {
   flagword flags_hassize;      /* flags we set if the section has a size > 0 */
 };
 
-/* just a dummy flag array since i don't understand it yet  */
+/* These flags are deccrtl/vaxcrtl (openVMS 6.2) compatible  */  */
 
 static struct sec_flags_struct evax_section_flags[] = {
   { EVAX_ABS_NAME,
@@ -67,13 +68,18 @@ static struct sec_flags_struct evax_section_flags[] = {
        (SEC_CODE),
        (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_EXE),
        (SEC_IN_MEMORY|SEC_CODE|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_LOAD) },
+  { EVAX_LITERAL_NAME,
+       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD|EGPS_S_V_NOMOD),
+       (SEC_DATA|SEC_READONLY),
+       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD),
+       (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_READONLY|SEC_LOAD) },
   { EVAX_LINK_NAME,
        (EGPS_S_V_REL|EGPS_S_V_RD),
        (SEC_DATA|SEC_READONLY),
        (EGPS_S_V_REL|EGPS_S_V_RD),
        (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_READONLY|SEC_LOAD) },
   { EVAX_DATA_NAME,
-       (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT),
+       (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT|EGPS_S_V_NOMOD),
        (SEC_DATA),
        (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT),
        (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_LOAD) },
@@ -82,16 +88,21 @@ static struct sec_flags_struct evax_section_flags[] = {
        (SEC_NO_FLAGS),
        (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT|EGPS_S_V_NOMOD),
        (SEC_IN_MEMORY|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_LOAD) },
-  { EVAX_READONLY_NAME,
-       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD),
+  { EVAX_READONLYADDR_NAME,
+       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_RD),
        (SEC_DATA|SEC_READONLY),
-       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD),
+       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_RD),
        (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_READONLY|SEC_LOAD) },
-  { EVAX_LITERAL_NAME,
-       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD),
+  { EVAX_READONLY_NAME,
+       (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD|EGPS_S_V_NOMOD),
        (SEC_DATA|SEC_READONLY),
        (EGPS_S_V_PIC|EGPS_S_V_REL|EGPS_S_V_SHR|EGPS_S_V_RD),
        (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_READONLY|SEC_LOAD) },
+  { EVAX_LOCAL_NAME,
+       (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT),
+       (SEC_DATA),
+       (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT),
+       (SEC_IN_MEMORY|SEC_DATA|SEC_HAS_CONTENTS|SEC_ALLOC|SEC_LOAD) },
   { NULL,
        (EGPS_S_V_REL|EGPS_S_V_RD|EGPS_S_V_WRT),
        (SEC_DATA),