1 /* obj-evax.c - EVAX (openVMS/Alpha) object file format. 2 Copyright 1996, 1997 Free Software Foundation, Inc. 3 Contributed by Klaus K�mpf (kkaempf@progis.de) of 4 proGIS Software, Aachen, Germany. 5 6 This file is part of GAS, the GNU Assembler 7 8 GAS is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2, or (at your option) 11 any later version. 12 13 GAS is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GAS; see the file COPYING. If not, write to 20 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, 21 MA 02111-1307, USA. */ 22 23 #define OBJ_HEADER "obj-evax.h" 24 25 #include "as.h" 26 27 static void s_evax_weak PARAMS ((int)); 28 29 const pseudo_typeS obj_pseudo_table[] = 30 { 31 { "weak", s_evax_weak, 0}, 32 {0, 0, 0}, 33 }; /* obj_pseudo_table */ 34 35 void obj_read_begin_hook () {} 36 37 /* Handle the weak specific pseudo-op. */ 38 39 static void 40 s_evax_weak (ignore) 41 int ignore; 42 { 43 char *name; 44 int c; 45 symbolS *symbolP; 46 char *stop = NULL; 47 char stopc; 48 49 if (flag_mri) 50 stop = mri_comment_field (&stopc); 51 52 do 53 { 54 name = input_line_pointer; 55 c = get_symbol_end (); 56 symbolP = symbol_find_or_make (name); 57 *input_line_pointer = c; 58 SKIP_WHITESPACE (); 59 S_SET_WEAK (symbolP); 60 if (c == ',') 61 { 62 input_line_pointer++; 63 SKIP_WHITESPACE (); 64 if (*input_line_pointer == '\n') 65 c = '\n'; 66 } 67 } 68 while (c == ','); 69 70 if (flag_mri) 71 mri_comment_end (stop, stopc); 72 73 demand_empty_rest_of_line (); 74 } 75 76 /* 77 * Local Variables: 78 * comment-column: 0 79 * fill-column: 131 80 * End: 81 */ 82 83 /* end of obj-evax.c */ 84