bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GAS: arm-coff dump literal pool on section change


From: Nick Clifton
Subject: GAS: arm-coff dump literal pool on section change
Date: 22 May 2002 17:44:32 +0100

Hi Guys,

  I am applying the patch below to fix GAS for the arm-coff target so
  that it will automatically dump the literal pool when a section
  change occurs and avoids error messages like this:

    Error: literal referenced across section boundary (Implicit dump?)

  This makes the coff assembler behave in the same way as the ELF
  assembler.

Cheers
    Nick

2002-05-22  Nick Clifton  <address@hidden>

        * config/tc-arm.c (arm_s_section): Enable for COFF builds as well
        as ELF builds.

Index: gas/config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.121
diff -c -3 -p -w -r1.121 tc-arm.c
*** gas/config/tc-arm.c 14 May 2002 20:40:30 -0000      1.121
--- gas/config/tc-arm.c 22 May 2002 16:41:02 -0000
*************** static void s_thumb_func PARAMS ((int));
*** 2063,2070 ****
  static void s_thumb_set PARAMS ((int));
  static void arm_s_text PARAMS ((int));
  static void arm_s_data PARAMS ((int));
- #ifdef OBJ_ELF
  static void arm_s_section PARAMS ((int));
  static void s_arm_elf_cons PARAMS ((int));
  #endif
  
--- 2063,2070 ----
  static void s_thumb_set PARAMS ((int));
  static void arm_s_text PARAMS ((int));
  static void arm_s_data PARAMS ((int));
  static void arm_s_section PARAMS ((int));
+ #ifdef OBJ_ELF
  static void s_arm_elf_cons PARAMS ((int));
  #endif
  
*************** const pseudo_typeS md_pseudo_table[] =
*** 2088,2098 ****
    /* Allow for the effect of section changes.  */
    { "text",        arm_s_text,    0 },
    { "data",        arm_s_data,    0 },
- #ifdef OBJ_ELF
    { "section",     arm_s_section, 0 },
    { "section.s",   arm_s_section, 0 },
    { "sect",        arm_s_section, 0 },
    { "sect.s",      arm_s_section, 0 },
    { "word",        s_arm_elf_cons, 4 },
    { "long",        s_arm_elf_cons, 4 },
    { "file",        dwarf2_directive_file, 0 },
--- 2088,2098 ----
    /* Allow for the effect of section changes.  */
    { "text",        arm_s_text,    0 },
    { "data",        arm_s_data,    0 },
    { "section",     arm_s_section, 0 },
    { "section.s",   arm_s_section, 0 },
    { "sect",        arm_s_section, 0 },
    { "sect.s",      arm_s_section, 0 },
+ #ifdef OBJ_ELF
    { "word",        s_arm_elf_cons, 4 },
    { "long",        s_arm_elf_cons, 4 },
    { "file",        dwarf2_directive_file, 0 },
*************** arm_s_data (ignore)
*** 2585,2600 ****
  #endif
  }
  
- #ifdef OBJ_ELF
  static void
  arm_s_section (ignore)
       int ignore;
  {
    s_ltorg (0);
  
    obj_elf_section (ignore);
- }
  #endif
  
  static void
  opcode_select (width)
--- 2585,2603 ----
  #endif
  }
  
  static void
  arm_s_section (ignore)
       int ignore;
  {
    s_ltorg (0);
  
+ #ifdef OBJ_ELF
    obj_elf_section (ignore);
  #endif
+ #ifdef OBJ_COFF
+   obj_coff_section (ignore);
+ #endif
+ }
  
  static void
  opcode_select (width)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]