]> granicus.if.org Git - yasm/commitdiff
Re-add a hackish fix to set initial bits setting from objfmt for x86 arch.
authorPeter Johnson <peter@tortall.net>
Fri, 16 Aug 2002 02:45:10 +0000 (02:45 -0000)
committerPeter Johnson <peter@tortall.net>
Fri, 16 Aug 2002 02:45:10 +0000 (02:45 -0000)
svn path=/trunk/yasm/; revision=698

frontends/yasm/yasm.c
libyasm/objfmt.h
src/main.c
src/objfmt.h

index a8c7c33de0f882f61baaa864f7e715e3cde789ae..0a91dd4ca03bf824b3eff3009fe8410406fdf925 100644 (file)
@@ -44,6 +44,9 @@
 #include "arch.h"
 
 
+/* FIXME: figure out a better way to handle this */
+extern unsigned char x86_mode_bits;
+
 /* Extra path to search for our modules. */
 #ifndef YASM_MODULE_PATH_ENV
 # define YASM_MODULE_PATH_ENV  "YASM_MODULE_PATH"
@@ -288,8 +291,9 @@ main(int argc, char *argv[])
        }
     }
 
-    /* Get initial BITS setting from object format */
-    /*x86_mode_bits = cur_objfmt->default_mode_bits;*/
+    /* Get initial x86 BITS setting from object format */
+    if (cur_arch == &x86_arch)
+       x86_mode_bits = cur_objfmt->default_x86_mode_bits;
 
     /* Parse! */
     sections = cur_parser->do_parse(cur_parser, in, in_filename);
index 527b3a8fc6c757b05f3dc1a5f4ee9d0ebad01be2..ef2de4c3dc01736f883b3c69030f7bda0df85fb9 100644 (file)
@@ -38,8 +38,8 @@ struct objfmt {
     /* default (starting) section name */
     const char *default_section_name;
 
-    /* default (starting) BITS setting */
-    const unsigned char default_mode_bits;
+    /* default (starting) x86 BITS setting */
+    const unsigned char default_x86_mode_bits;
 
     /* NULL-terminated list of debugging formats that are valid to use with
      * this object format.
index a8c7c33de0f882f61baaa864f7e715e3cde789ae..0a91dd4ca03bf824b3eff3009fe8410406fdf925 100644 (file)
@@ -44,6 +44,9 @@
 #include "arch.h"
 
 
+/* FIXME: figure out a better way to handle this */
+extern unsigned char x86_mode_bits;
+
 /* Extra path to search for our modules. */
 #ifndef YASM_MODULE_PATH_ENV
 # define YASM_MODULE_PATH_ENV  "YASM_MODULE_PATH"
@@ -288,8 +291,9 @@ main(int argc, char *argv[])
        }
     }
 
-    /* Get initial BITS setting from object format */
-    /*x86_mode_bits = cur_objfmt->default_mode_bits;*/
+    /* Get initial x86 BITS setting from object format */
+    if (cur_arch == &x86_arch)
+       x86_mode_bits = cur_objfmt->default_x86_mode_bits;
 
     /* Parse! */
     sections = cur_parser->do_parse(cur_parser, in, in_filename);
index 527b3a8fc6c757b05f3dc1a5f4ee9d0ebad01be2..ef2de4c3dc01736f883b3c69030f7bda0df85fb9 100644 (file)
@@ -38,8 +38,8 @@ struct objfmt {
     /* default (starting) section name */
     const char *default_section_name;
 
-    /* default (starting) BITS setting */
-    const unsigned char default_mode_bits;
+    /* default (starting) x86 BITS setting */
+    const unsigned char default_x86_mode_bits;
 
     /* NULL-terminated list of debugging formats that are valid to use with
      * this object format.