[gdb/testsuite] Fix gdb.ada/mi_task_arg.exp
[deliverable/binutils-gdb.git] / gas / symbols.c
index 10d7b1c273e711ad662aa93d4e5150e9bddf73bb..34ec145ad0426c0deacf9b06079516a07778bd31 100644 (file)
@@ -1097,19 +1097,6 @@ use_complex_relocs_for (symbolS * symp)
     case O_constant:
       return 0;
 
-    case O_symbol:
-    case O_symbol_rva:
-    case O_uminus:
-    case O_bit_not:
-    case O_logical_not:
-      if (  (S_IS_COMMON (symp->sy_value.X_add_symbol)
-          || S_IS_LOCAL (symp->sy_value.X_add_symbol))
-         &&
-             (S_IS_DEFINED (symp->sy_value.X_add_symbol)
-          && S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section))
-       return 0;
-      break;
-
     case O_multiply:
     case O_divide:
     case O_modulus:
@@ -1129,18 +1116,22 @@ use_complex_relocs_for (symbolS * symp)
     case O_gt:
     case O_logical_and:
     case O_logical_or:
-
-      if (  (S_IS_COMMON (symp->sy_value.X_add_symbol)
-          || S_IS_LOCAL (symp->sy_value.X_add_symbol))
-         &&
-           (S_IS_COMMON (symp->sy_value.X_op_symbol)
+      if ((S_IS_COMMON (symp->sy_value.X_op_symbol)
           || S_IS_LOCAL (symp->sy_value.X_op_symbol))
-
-         && S_IS_DEFINED (symp->sy_value.X_add_symbol)
          && S_IS_DEFINED (symp->sy_value.X_op_symbol)
-         && S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section
          && S_GET_SEGMENT (symp->sy_value.X_op_symbol) != expr_section)
-       return 0;
+       {
+       case O_symbol:
+       case O_symbol_rva:
+       case O_uminus:
+       case O_bit_not:
+       case O_logical_not:
+         if ((S_IS_COMMON (symp->sy_value.X_add_symbol)
+              || S_IS_LOCAL (symp->sy_value.X_add_symbol))
+             && S_IS_DEFINED (symp->sy_value.X_add_symbol)
+             && S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section)
+           return 0;
+       }
       break;
 
     default:
@@ -2319,14 +2310,14 @@ S_IS_LOCAL (symbolS *s)
   if ((flags & BSF_LOCAL) && (flags & BSF_GLOBAL))
     abort ();
 
-  if (bfd_get_section (s->bsym) == reg_section)
+  if (bfd_asymbol_section (s->bsym) == reg_section)
     return 1;
 
   if (flag_strip_local_absolute
       /* Keep BSF_FILE symbols in order to allow debuggers to identify
         the source file even when the object file is stripped.  */
       && (flags & (BSF_GLOBAL | BSF_FILE)) == 0
-      && bfd_get_section (s->bsym) == absolute_section)
+      && bfd_asymbol_section (s->bsym) == absolute_section)
     return 1;
 
   name = S_GET_NAME (s);
This page took 0.023791 seconds and 4 git commands to generate.