]> granicus.if.org Git - yasm/commitdiff
Get initial bits setting from object format. Change the initial section name
authorPeter Johnson <peter@tortall.net>
Sun, 23 Sep 2001 19:22:04 +0000 (19:22 -0000)
committerPeter Johnson <peter@tortall.net>
Sun, 23 Sep 2001 19:22:04 +0000 (19:22 -0000)
from a function to a constant string.  Make mode_bits uniformily an unsigned
char instead of an int.

svn path=/trunk/yasm/; revision=210

16 files changed:
frontends/yasm/yasm.c
libyasm/linemgr.c
libyasm/linemgr.h
libyasm/objfmt.h
libyasm/section.c
modules/objfmts/dbg/dbg-objfmt.c
modules/objfmts/dbg/objfmt.c
src/globals.c
src/globals.h
src/linemgr.c
src/linemgr.h
src/main.c
src/objfmt.h
src/objfmts/dbg/dbg-objfmt.c
src/objfmts/dbg/objfmt.c
src/section.c

index 0b55dbbe739dc57a305689a3fcea000fea3584b5..e05475ae7e44fb4b1e51e01a4cf39d3df0b93ee8 100644 (file)
@@ -59,6 +59,9 @@ main(int argc, char *argv[])
        filename = strdup("<STDIN>");
     }
 
+    /* Get initial BITS setting from object format */
+    mode_bits = dbg_objfmt.default_mode_bits;
+
     nasm_parser.do_parse(&nasm_parser, &dbg_objfmt, in);
 
     if (filename)
index 424c3e89778cfef83706a33081da0162cd6c9280..b86c1c11633a1ac0361686b6368005f193e8851d 100644 (file)
@@ -31,4 +31,4 @@ RCSID("$IdPath$");
 
 char *filename = (char *)NULL;
 unsigned int line_number = 1;
-unsigned int mode_bits = 32;
+unsigned char mode_bits = 0;
index fbf4eb63ca74b1c95a8af22208cc3497b6996152..a836dfd983264b5cde28c397b4804a20fc8b9903 100644 (file)
@@ -24,7 +24,7 @@
 
 extern char *filename;
 extern unsigned int line_number;
-extern unsigned int mode_bits;
+extern unsigned char mode_bits;
 extern struct symrec_s *locallabel_base;
 
 #endif
index 813fc94acbe3b4d01d8573c74de118932cce82cd..1b085063656b89dca631e829b01feac2ef541319 100644 (file)
@@ -30,6 +30,12 @@ typedef struct objfmt_s {
     /* keyword used to select format on the command line */
     char *keyword;
 
+    /* default (starting) section name */
+    const char *default_section_name;
+
+    /* default (starting) BITS setting */
+    const unsigned char default_mode_bits;
+
     /* NULL-terminated list of debugging formats that are valid to use with
      * this object format.
      */
@@ -40,9 +46,6 @@ typedef struct objfmt_s {
      */
 /*    struct debugfmt_s *default_df;*/
 
-    /* Get the default (starting) section name. */
-    const char *(*get_default_section_name) (void);
-
     /* Is the specified section name valid?
      * Return is a boolean value.
      */
index ad760bbdad9c7f6821224bc815800453a3b9dca2..fafa443a0901244d9620f88d263574ece605a998 100644 (file)
@@ -66,7 +66,7 @@ sections_initialize(sectionhead *headp, objfmt *of)
 
     /* Initialize default section */
     s->type = SECTION_GENERAL;
-    s->name = strdup(of->get_default_section_name());
+    s->name = strdup(of->default_section_name);
     bytecodes_initialize(&s->bc);
 
     return s;
index 7b02785590ff3fd63acf834d4314eb6f4ffd4859..9c9b983b802065b962362f4935957702178609c1 100644 (file)
 
 RCSID("$IdPath$");
 
-static const char *
-dbg_objfmt_get_default_section_name(void)
-{
-    fprintf(stderr, "-dbg_objfmt_get_default_section_name()\n");
-    return ".text";
-}
-
 static int
 dbg_objfmt_is_valid_section(const char *name)
 {
@@ -49,6 +42,7 @@ dbg_objfmt_is_valid_section(const char *name)
 objfmt dbg_objfmt = {
     "Trace of all info passed to object format module",
     "dbg",
-    dbg_objfmt_get_default_section_name,
+    ".text",
+    32,
     dbg_objfmt_is_valid_section
 };
index 7b02785590ff3fd63acf834d4314eb6f4ffd4859..9c9b983b802065b962362f4935957702178609c1 100644 (file)
 
 RCSID("$IdPath$");
 
-static const char *
-dbg_objfmt_get_default_section_name(void)
-{
-    fprintf(stderr, "-dbg_objfmt_get_default_section_name()\n");
-    return ".text";
-}
-
 static int
 dbg_objfmt_is_valid_section(const char *name)
 {
@@ -49,6 +42,7 @@ dbg_objfmt_is_valid_section(const char *name)
 objfmt dbg_objfmt = {
     "Trace of all info passed to object format module",
     "dbg",
-    dbg_objfmt_get_default_section_name,
+    ".text",
+    32,
     dbg_objfmt_is_valid_section
 };
index 424c3e89778cfef83706a33081da0162cd6c9280..b86c1c11633a1ac0361686b6368005f193e8851d 100644 (file)
@@ -31,4 +31,4 @@ RCSID("$IdPath$");
 
 char *filename = (char *)NULL;
 unsigned int line_number = 1;
-unsigned int mode_bits = 32;
+unsigned char mode_bits = 0;
index fbf4eb63ca74b1c95a8af22208cc3497b6996152..a836dfd983264b5cde28c397b4804a20fc8b9903 100644 (file)
@@ -24,7 +24,7 @@
 
 extern char *filename;
 extern unsigned int line_number;
-extern unsigned int mode_bits;
+extern unsigned char mode_bits;
 extern struct symrec_s *locallabel_base;
 
 #endif
index 424c3e89778cfef83706a33081da0162cd6c9280..b86c1c11633a1ac0361686b6368005f193e8851d 100644 (file)
@@ -31,4 +31,4 @@ RCSID("$IdPath$");
 
 char *filename = (char *)NULL;
 unsigned int line_number = 1;
-unsigned int mode_bits = 32;
+unsigned char mode_bits = 0;
index fbf4eb63ca74b1c95a8af22208cc3497b6996152..a836dfd983264b5cde28c397b4804a20fc8b9903 100644 (file)
@@ -24,7 +24,7 @@
 
 extern char *filename;
 extern unsigned int line_number;
-extern unsigned int mode_bits;
+extern unsigned char mode_bits;
 extern struct symrec_s *locallabel_base;
 
 #endif
index 0b55dbbe739dc57a305689a3fcea000fea3584b5..e05475ae7e44fb4b1e51e01a4cf39d3df0b93ee8 100644 (file)
@@ -59,6 +59,9 @@ main(int argc, char *argv[])
        filename = strdup("<STDIN>");
     }
 
+    /* Get initial BITS setting from object format */
+    mode_bits = dbg_objfmt.default_mode_bits;
+
     nasm_parser.do_parse(&nasm_parser, &dbg_objfmt, in);
 
     if (filename)
index 813fc94acbe3b4d01d8573c74de118932cce82cd..1b085063656b89dca631e829b01feac2ef541319 100644 (file)
@@ -30,6 +30,12 @@ typedef struct objfmt_s {
     /* keyword used to select format on the command line */
     char *keyword;
 
+    /* default (starting) section name */
+    const char *default_section_name;
+
+    /* default (starting) BITS setting */
+    const unsigned char default_mode_bits;
+
     /* NULL-terminated list of debugging formats that are valid to use with
      * this object format.
      */
@@ -40,9 +46,6 @@ typedef struct objfmt_s {
      */
 /*    struct debugfmt_s *default_df;*/
 
-    /* Get the default (starting) section name. */
-    const char *(*get_default_section_name) (void);
-
     /* Is the specified section name valid?
      * Return is a boolean value.
      */
index 7b02785590ff3fd63acf834d4314eb6f4ffd4859..9c9b983b802065b962362f4935957702178609c1 100644 (file)
 
 RCSID("$IdPath$");
 
-static const char *
-dbg_objfmt_get_default_section_name(void)
-{
-    fprintf(stderr, "-dbg_objfmt_get_default_section_name()\n");
-    return ".text";
-}
-
 static int
 dbg_objfmt_is_valid_section(const char *name)
 {
@@ -49,6 +42,7 @@ dbg_objfmt_is_valid_section(const char *name)
 objfmt dbg_objfmt = {
     "Trace of all info passed to object format module",
     "dbg",
-    dbg_objfmt_get_default_section_name,
+    ".text",
+    32,
     dbg_objfmt_is_valid_section
 };
index 7b02785590ff3fd63acf834d4314eb6f4ffd4859..9c9b983b802065b962362f4935957702178609c1 100644 (file)
 
 RCSID("$IdPath$");
 
-static const char *
-dbg_objfmt_get_default_section_name(void)
-{
-    fprintf(stderr, "-dbg_objfmt_get_default_section_name()\n");
-    return ".text";
-}
-
 static int
 dbg_objfmt_is_valid_section(const char *name)
 {
@@ -49,6 +42,7 @@ dbg_objfmt_is_valid_section(const char *name)
 objfmt dbg_objfmt = {
     "Trace of all info passed to object format module",
     "dbg",
-    dbg_objfmt_get_default_section_name,
+    ".text",
+    32,
     dbg_objfmt_is_valid_section
 };
index ad760bbdad9c7f6821224bc815800453a3b9dca2..fafa443a0901244d9620f88d263574ece605a998 100644 (file)
@@ -66,7 +66,7 @@ sections_initialize(sectionhead *headp, objfmt *of)
 
     /* Initialize default section */
     s->type = SECTION_GENERAL;
-    s->name = strdup(of->get_default_section_name());
+    s->name = strdup(of->default_section_name);
     bytecodes_initialize(&s->bc);
 
     return s;