Back to index

cell-binutils  2.17cvs20070401
obj-evax.c
Go to the documentation of this file.
00001 /* obj-evax.c - EVAX (openVMS/Alpha) object file format.
00002    Copyright 1996, 1997 Free Software Foundation, Inc.
00003    Contributed by Klaus Kämpf (kkaempf@progis.de) of
00004      proGIS Software, Aachen, Germany.
00005 
00006    This file is part of GAS, the GNU Assembler
00007 
00008    GAS is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU General Public License as published by
00010    the Free Software Foundation; either version 2, or (at your option)
00011    any later version.
00012 
00013    GAS is distributed in the hope that it will be useful,
00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016    GNU General Public License for more details.
00017 
00018    You should have received a copy of the GNU General Public License
00019    along with GAS; see the file COPYING.  If not, write to
00020    the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
00021    MA 02110-1301, USA.  */
00022 
00023 #define OBJ_HEADER "obj-evax.h"
00024 
00025 #include "as.h"
00026 
00027 static void s_evax_weak PARAMS ((int));
00028 
00029 const pseudo_typeS obj_pseudo_table[] =
00030 {
00031   { "weak", s_evax_weak, 0},
00032   {0, 0, 0},
00033 };                          /* obj_pseudo_table */
00034 
00035 void obj_read_begin_hook () {}
00036 
00037 /* Handle the weak specific pseudo-op.  */
00038 
00039 static void
00040 s_evax_weak (ignore)
00041      int ignore;
00042 {
00043   char *name;
00044   int c;
00045   symbolS *symbolP;
00046   char *stop = NULL;
00047   char stopc;
00048 
00049   if (flag_mri)
00050     stop = mri_comment_field (&stopc);
00051 
00052   do
00053     {
00054       name = input_line_pointer;
00055       c = get_symbol_end ();
00056       symbolP = symbol_find_or_make (name);
00057       *input_line_pointer = c;
00058       SKIP_WHITESPACE ();
00059       S_SET_WEAK (symbolP);
00060       if (c == ',')
00061        {
00062          input_line_pointer++;
00063          SKIP_WHITESPACE ();
00064          if (*input_line_pointer == '\n')
00065            c = '\n';
00066        }
00067     }
00068   while (c == ',');
00069 
00070   if (flag_mri)
00071     mri_comment_end (stop, stopc);
00072 
00073   demand_empty_rest_of_line ();
00074 }
00075 
00076 /*
00077  * Local Variables:
00078  * comment-column: 0
00079  * fill-column: 131
00080  * End:
00081  */
00082 
00083 /* end of obj-evax.c */