From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Eckhardt To: binutils@sourceware.cygnus.com Subject: [patch] gas, add a fifth type to ".type" directive Date: Fri, 28 Jul 2000 17:10:00 -0000 Message-id: X-SW-Source: 2000-07/msg00485.html gas: This adds a fifth syntax to the ELF ".type" directive: e.g., .type SYM,"function". This is used on SVR4/860. Also added configure bits to recognize i860 (note, the assembler that is currently there is completely dead and doesn't even build. I will be doing a new assembler soon). Acceptable? 2000-07-28 Jason Eckhardt * configure.in: Add bits for i860-stardent-{sysv4, elf}*. * configure: Regenerated. * config/obj-elf.c (obj_elf_type): Recognize a fifth type of operand to the .type directive (.e.g, "type"). Index: gas/configure.in =================================================================== RCS file: /cvs/src/src/gas/configure.in,v retrieving revision 1.36 diff -c -3 -p -r1.36 configure.in *** configure.in 2000/07/20 17:45:27 1.36 --- configure.in 2000/07/29 00:01:23 *************** changequote([,])dnl *** 265,270 **** --- 265,273 ---- i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;; i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;; i386-*-vxworks*) fmt=aout ;; + i860-stardent-sysv4* | i860-stardent-elf*) + fmt=elf bfd_gas=yes endian=little + AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;; i960-*-bout) fmt=bout ;; i960-*-coff) fmt=coff em=ic960 ;; i960-*-rtems*) fmt=coff em=ic960 ;; Index: gas/config/obj-elf.c =================================================================== RCS file: /cvs/src/src/gas/config/obj-elf.c,v retrieving revision 1.18 diff -c -3 -p -r1.18 obj-elf.c *** obj-elf.c 2000/06/19 01:22:40 1.18 --- obj-elf.c 2000/07/29 00:01:26 *************** obj_elf_size (ignore) *** 1401,1407 **** } /* Handle the ELF .type pseudo-op. This sets the type of a symbol. ! There are four syntaxes: The first (used on Solaris) is .type SYM,#function --- 1401,1407 ---- } /* Handle the ELF .type pseudo-op. This sets the type of a symbol. ! There are five syntaxes: The first (used on Solaris) is .type SYM,#function *************** obj_elf_size (ignore) *** 1411,1416 **** --- 1411,1418 ---- .type SYM STT_FUNC The fourth (used on NetBSD/Arm and Linux/ARM) is .type SYM,%function + The fifth (used on SVR4/860) is + .type SYM,"function" */ static void *************** obj_elf_type (ignore) *** 1435,1440 **** --- 1437,1443 ---- SKIP_WHITESPACE (); if ( *input_line_pointer == '#' || *input_line_pointer == '@' + || *input_line_pointer == '"' || *input_line_pointer == '%') ++input_line_pointer; *************** obj_elf_type (ignore) *** 1452,1457 **** --- 1455,1463 ---- as_bad (_("ignoring unrecognized symbol type \"%s\""), typename); *input_line_pointer = c; + + if (*input_line_pointer == '"') + ++input_line_pointer; symbol_get_bfdsym (sym)->flags |= type;