Fred Fish [Mon, 11 Sep 1995 23:49:34 +0000 (23:49 +0000)]
* gdb.base/scope.exp (text_at_main): Add "hppa*-*-hpux*"
xfails when not gcc compiled for "print foo::funclocal".
(test_at_foo): Add "hppa*-*-hpux*" xfails when not gcc compiled for:
"print foo::funclocal at foo",
"print 'scope1.c'::foo::funclocal at foo",
"print foo::funclocal_bss at foo",
"print 'scope1.c'::foo::funclocal_bss at foo",
"print foo::funclocal_ro at foo",
"print 'scope1.c'::foo::funclocal_ro at foo",
"print bar::funclocal at foo" and
"print 'scope1.c'::bar::funclocal at foo".
(test_at_bar): Add "hppa*-*-hpux*" xfails when not
gcc compiled for "print foo::funclocal at bar".
Expand all messages to ensure that they identify that
the test is at bar().
* gdb.base/opaque.exp: Add "hppa*-*-hpux*" xfails when not
gcc compiled for:
"ptype on opaque struct pointer (statically)",
"ptype on opaque struct tagname (statically)",
"ptype on opaque struct pointer (dynamically) 1",
"ptype on opaque struct tagname (dynamically) 1",
"ptype on opaque struct pointer (dynamically) 2" and
"ptype on opaque struct tagname (dynamically) 2
* gdb.base/nodebug.exp: Add "hppa*-*-hpux*" xfails when not
gcc compiled for:
"p datalocal"
"whatis datalocal",
"ptype datalocal",
"p bsslocal",
"whatis bsslocal", and
"ptype bsslocal".
* gdb.base/langs.exp: Add "hppa*-*-hpux*" xfails for
"backtrace in langs.exp" and "up to langs0__2do in langs.exp"
when not gcc compiled.
* gdb.base/funcargs.exp (float_and_integral_args): Add
"hppa*-*-hpux*" xfail for "run to call2a" when not gcc
compiled.
(discard_and_shuffle): Add "hppa*-*-hpux*" xfail for
"backtrace from call6a" when not gcc compiled.
(shuffle_round_robin): Add "hppa*-*-hpux*" xfail for
"backtrace from call7a" when not gcc compiled.
* gdb.base/callfuncs.exp (do_function_calls):
Add "hppa*-*-hpux*" xfail when not gcc compiled for
"p t_char_array_values(char_array_val2,char_array_val1)",
"p t_char_array_values(char_array_val1,char_array_val2)",
"p t_char_array_values("carray 1","carray 2")",
"p t_char_array_values("carray 1",char_array_val2)",
"p t_char_array_values(char_array_val1,"carray 2")",
"p sum_args(1,{2})",
"p sum_args(2,{2,3})",
"p sum_args(3,{2,3,4})",
"p sum_args(4,{2,3,4,5})"
* gdb.base/corefile.exp: Add "hppa*-*-hpux*" xfail for
"backtrace in corefile.exp" when not gcc compiled.
Ian Lance Taylor [Mon, 11 Sep 1995 18:34:55 +0000 (18:34 +0000)]
* app.c (do_scrub_chars): Grab all available spaces at start of
line before preserving a single space. Remove state == 0 test
which will never succeed.
* macro.c (macro_expand_body): Delete local variables from the
formal hash table.
(macro_expand): In MRI mode, stop when whitespace is seen in the
argument list.
Michael Tiemann [Sun, 10 Sep 1995 17:37:22 +0000 (17:37 +0000)]
Sun Sep 10 10:24:48 1995 Michael Tiemann <tiemann@axon.cygnus.com>
* tm-ppc-eabi.h (PC_IN_CALL_DUMMY): Redefine this to work with the
simulator. FIXME.
* rs6000-tdep.c (push_dummy_frame): Calculate the correct link
register offset from the current frame (don't assume it is always 8).
(push_dummy_frame): Add comment about having only 4096 bytes of
stack space in the simulator (by default).
* remote-sim.c (gdbsim_create_inferior): Call
`add_text_to_loadinfo' so that gdb can find TOC entries when
calling functions in the inferior.
With this changes, it is now possible to correctly call inferior
functions in the PPC simulator.
Peter Schauer [Sat, 9 Sep 1995 15:24:18 +0000 (15:24 +0000)]
* stabsread.c (read_enum_type): Exit loop for putting pending
enum symbols into the enum type correctly if we had no pending
symbols on entry to read_enum_type.
Peter Schauer [Sat, 9 Sep 1995 08:38:40 +0000 (08:38 +0000)]
* gdb.base/signals.exp: Rewrite `handle all print' test as
a procedure. Accept blanks or TABs as whitespace, increase
timeout and expect input buffer size for the large output
from the command. Remove "i*86-*-bsdi2.0" xfail.
Kung Hsu [Sat, 9 Sep 1995 00:26:46 +0000 (00:26 +0000)]
* inferior.h: Add extern declaration of inferior_environ.
* solib.c (solib_map_sections): To get inferior's env instead of
gdb's for LD_LIBRARY_PATH, same for PATH.
Add Linux style directory searching.
* configure.tgt: Add i386lelf to targ_extra_emuls for
i[345]86-*-linuxaout* and i[345]86-*-linuxoldld. For
i[345]86-*-linux*, set targ_emul to i386lelf, and add elf_i386 to
targ_extra_emuls.
* emulparams/i386lelf.sh: New file, a copy of elf_i386.sh.
* emultempl/elf32.em: If TARGET_IS_i386lelf, use autoconf
recommended mechanism to define DIR and struct dirent.
(libcmp): New static function use only when TARGET_IS_i386lelf.
(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
* Makefile.in (ALL_EMULATIONS): Add ei386lelf.o
(ei386lelf.c): New target.
* configure.in: Call AC_HEADER_DIRENT.
* configure, config.in: Rebuild.
* emultempl/sunos.em: Use autoconf recommend mechanism to define
DIR and struct dirent.
* app.c (do_scrub_chars): In MRI mode, keep a space before a
possible comment character.
* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
an instruction which takes no operands.
* configure.in: Remove AC_PROG_INSTALL.
* configure: Rebuild.
* Makefile.in (INSTALL): Revert to using install.sh.
(INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
(INSTALL_XFORM, INSTALL_XFORM1): Restore.
(mostlyclean): Make the same as clean, not distclean.
(clean): Remove config.log.
(install): Don't install in $(tooldir).
* configure.in: Convert to use autoconf.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* config.in: New file, built by autoheader.
* Makefile.in: Various changes for new configure script. Also:
(INSTALL): Go up two levels, not one.
(ALLOCA, MALLOC, OPCODES): Remove.
(gencode): Use $(CC_FOR_BUILD).
(case.o): Remove.
(run.o, interp.o): Depend upon config.h.
* interp.c: Include "config.h". Don't include "sysdep.h".
Include <stdlib.h>, <time.h>, and <unistd.h> if they exist.
* run.c: Include "config.h". Don't include "sysdep.h". Include
<stdlib.h> if it exists. Include "getopt.h". Declare printf if
necessary.
* configure.in: Call AC_CONFIG_HEADER. Don't try to use
bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and
AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES and AR.
Call AC_CHECK_HEADERS for stdlib.h and time.h. Touch stamp.h if
creating config.h.
* configure: Rebuild.
* Makefile.in (AR): Define as @AR@.
(CC): New variable, defined as @CC@.
(CFLAGS): Define as @CFLAGS@.
(RANLIB): Define as @RANLIB@.
(HDEFINES, TDEFINES): New variables.
(@host_makefile_frag@): Remove.
(compile.o, run.o): Depend upon config.h.
(mostlyclean): Make the same as clean, not distclean.
(clean): Remove config.log.
(distclean): Remove config.h and stamp-h.
(Makefile): Don't depend upon @frags@. Just rebuild Makefile when
invoking config.status.
(config.h, stamp-h): New targets.
* compile.c: Include "config.h". Don't include <sys/times.h>.
Include <time.h> and <stdlib.h> if they exist. Don't include
"sysdep.h".
(get_now): Remove unused local b.
* run.c: Include "config.h". Include <stdlib.h> if it exists.
Don't include "sysdep.h".
* writecode.c: Don't include "bfd.h" or "sysdep.h". Include
<stdio.h>.
* expr.c (operand): Handle 08 and 09 in MRI mode.
* macro.c (ISSEP): Remove duplicated `"' character.
(get_any_string): Copy some characters for which ISSEP is true:
';', '>', '(', ')'. Otherwise we can get in an infinite loop.
* read.c (s_space): In MRI mode, the expressions stop at the first
unquoted space.
(cons_worker): In MRI mode, restore the terminating character at
the end of the function.
* config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
Check for config.h:config.in when creating stamp-h.
* configure: Rebuild.
* Makefile.in (stamp-h): Depend upon config.in rather than
config.h.in. Set CONFIG_HEADERS to config.h:config.in when
calling config.status.
* config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
Check for config.h:config.in when creating stamp-h.
* configure: Rebuild.
* Makefile.in (stamp-h): Depend upon config.in rather than
config.h.in. Set CONFIG_HEADERS to config.h:config.in when
calling config.status.
* config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
* configure: Rebuild.
* Makefile.in (stamp-h): Set CONFIG_HEADERS to config.h:config.in
when calling config.status.
* nm.c (value_format): Initialize based on BFD64 and
BFD_HOST_64BIT_LONG.
(print_radix): New static variable.
(set_print_radix): Set print_radix. Adjust changes to
value_format.
(print_value): New static function, to print 64 bit octal and
decimal values correctly.
(print_symbol_info_bsd): Check BFD64, not BFD_HOST_64_BIT. Use
print_value.
(print_symbol_info_sysv): Use print_value.
(print_symbol_info_posix): Likewise.
* gas/mri/comment.s, gas/mri/comment.d: New test.
* gas/mri/mri.exp: Run it.
* gas/mri/expr.s: Remove whitespace in operand field.
* gas/mri/for.s: Add comments for further testing.
* gas/macros/test2.s: Put in an upper case ELSE to test case
insensitivity.
* app.c (do_scrub_chars): In MRI mode, silently end quoted strings
at newline characters. In MRI mode, always keep spaces in the
operands field. In MRI mode, treat a line comment character as a
regular comment character following a space.
* cond.c (ignore_input): Use strncasecmp rather than strncmp when
looking for special pseudo-ops.
* read.c (cons_worker): In MRI mode, the expressions stop at the
first unquoted space.
(equals): Likewise.
* configure.in: Call AC_CONFIG_HEADER. Substitute
HOST_64BIT_LONG. Check that various header files exist. Check
that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
and/or free need to be declared. Don't make a link to sysdep.h.
Define TRAD_HEADER for various hosts.
* configure: Rebuild.
* configure.host: Don't set my_host. Add definitions taken from
host header files for various entries. Remove entries which now
do nothing.
* acconfig.h: New file.
* config.h.in: New file, built by autoheader.
* sysdep.h: New file.
* Makefile.in (do_distclean): Don't remove sysdep.h.
(RECONFIG): Remove.
(LOCAL_H_DEPS): New variable.
($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
$(RECONFIG).
($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
($(OPTIONAL_BACKENDS)): Likewise.
(stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
looking through sysdep.h.
* bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
(BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
(fprintf_vma, sprintf_vma): Likewise.
(int64_type, uint64_type): Don't define.
* bfd-in2.h: Rebuild.
* archures.c, bfd.c, srec.c: Include <ctype.h>.
* elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
* lynx-core.c: Include stuff from old hosts/lynx.h.
* opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
rather than NO_FCNTL.
* targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
rather than NATIVE_HPPAHPUX_COMPILER.
* trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
is defined.
* hosts/*.h: Remove all header files which merely include,
declare, and define things. Leave header files which define
information needed by trad-core.c.
David Edelsohn [Wed, 6 Sep 1995 21:35:20 +0000 (21:35 +0000)]
* config/sparc/tm-sp64.h (REGISTER_RAW_SIZE): Lower 32 fp regs
have size 4.
(REGISTER_VIRTUAL_SIZE): Likewise.
(REGISTER_VIRTUAL_TYPE): Lower 32 fp regs have type float.
Upper 32 fp regs have type double.
* sparc-tdep.c (NUM_SPARC_FPREGS): Replace with
(FP_REGISTER_BYTES): this, and update all uses.
(FP_MAX_REGNUM): Define if not already.
(get_saved_register): Handle new sparc64 fp regs.
(sparc_frame_find_saved_regs): Likewise.
(sparc_print_register_hook): Only print fp regs < 32 as doubles.
Add code to handle long doubles when gdb does.
(_initialize_sparc_tdep): Use print_insn_sparc64 if sparc64.
* configure.in: Rewrite to use autoconf.
* configure.host: New file.
* configure.tgt: New file.
* aclocal.m4: New file.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* config.h.in: New file, built by autoheader.
* sysdep.h: New file.
* ld.h: Incorporate old contents of config.h.
* config.h: Remove.
* Makefile.in: Various changes for new configure script. Also:
(CC_FOR_BUILD): Remove.
(ldmain.o): Don't bother to ensure that EMUL is non-empty.
(dep.sed): Use @SRCDIR@, not @srcdir@.
* dep-in.sed: Use @SRCDIR@, not @srcdir@.
* genscripts.sh: Create ldscripts if it does not exist.
* ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
* mpw-esh.c, emultemp/*.em: Likewise.
* ldmain.c: Likewise. Include <ctype.h>. Don't try to set
HAVE_SBRK here.
* config/*.mt, config/*.mh: Remove.
* configure.in: Rewrite to use autoconf.
* aclocal.m4: New file.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* config.h.in: New file, built by autoheader.
* Makefile.in: Various changes for new configure script. Also:
(PROGS): Remove $(SYSINFO_PROG).
(ALL_CFLAGS): Remove $(TDEFINES).
(version.o): Use $(ALL_CFLAGS).
(cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
(sysdump.o): Depend upon bucomm.h and config.h.
(srconv.o, arsup.o, strings.o): Depend upon config.h.
(filemode.o): Don't depend upon ../bfd/sysdep.h.
(bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
(size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
(nlmheader.o, nlmconv.o): Likewise.
(distclean): Don't remove sysdep.h.
* bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
Include "fopen-same.h" or "fopen-bin.h", based on
USE_BINARY_FOPEN. Include <errno.h>, and declare errno if it is
not a macro. Include <unistd.h>, <string.h>, <strings.h>,
<stdlib.h>, and <fcntl.h> if they are present. Declare strchr,
strrchr, and strstr if no string header file exists. Include
<sys/file.h> if it exists and <fcntl.h> does not. Define
O_RDONLY and O_RDWR if necessary.
* ar.c: Don't include "sysdep.h". Do include <sys/types.h> and
<sys/stat.h>. Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME. Use
HAVE_UTIMES rather than !USE_UTIME. Don't include <errno.h>, and
don't declare errno.
* arsup.c: Don't include <sysdep.h>.
* bucomm.c: Don't include "sysdep.h". Include <stdio.h>,
<sys/types.h>, and <sys/stat.h>. Include <time.h> if it defines
time_t. Define time_t if necessary.
* coffdump.c: Don't include "sysdep.h".
* coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
* srconv.c, strings.c: Likewise.
* nm.c: Don't include "sysdep.h". Don't try to define HAVE_SBRK.
* objcopy.c: Don't include "sysdep.h". Include <sys/types.h> and
<sys/stat.h>.
(simple_copy): Use creat rather than assuming that O_CREAT is
defined.
* objdump.c: Don't include "sysdep.h". Use
NEED_DECLARATION_PRINTF rather than !FPRINTF_ALREADY_DECLARED.
* sysdump.c: Include "bfd.h" and "bucomm.h". Don't include
"sysdep.h" or <stdlib.h>.
(dump_symbol_info): Rename from symbol_info. Change all callers.
Stan Shebs [Wed, 6 Sep 1995 00:33:55 +0000 (00:33 +0000)]
* config/tc-mips.c: Remove CYGNUS LOCAL comments.
(md_begin): Use 0/1 instead of TRUE/FALSE.
(md_show_usage): Break up long format string for the benefit
of lame compilers.
* config/tc-m68k.c (md_show_usage): Ditto.
* gasp.c (show_usage): Ditto.
* macro.c (check_macro): Cast result of hash_find.
Ken Raeburn [Tue, 5 Sep 1995 22:36:41 +0000 (22:36 +0000)]
* configure.in: When testing for a free() declaration in system header files,
cast the address to a function pointer, not to an integer.
* write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE is defined.
Don't initialize fx_bsr. Verify that fx_size field is wide enough to hold
stored value.
* write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if that is
defined, otherwise omit it. Delete fx_bsr. Change fx_size to unsigned char.
* config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.
* config/tc-i860.c (md_apply_fix): Delete code for checking fx_im_disp, and for
handling non-zero values, since it never gets set after being initialized to
zero.
* write.h (struct fix): Make fx_im_disp always 2 bits, since the only tc-*
files actually using it need that much.
NS32K changes from Ian Dall:
* configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
ns32k-pc532-lites* like ns32k-pc532-netbsd*.
* config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
* configure.in (host_makefile_frag): Don't set. Substitute for
@CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
* Makefile.in (AR_FLAGS): Set to rc rather than qv.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(LDFLAGS): Define as @LDFLAGS@.
(ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
* configure.host: Incorporate host Makefile fragments by setting
shell variables.
* configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
value based on whether the code is being compiled by a cross
compiler. Don't substitute host_makefile_frag or frags.
* aclocal.m4: New file to define local AC_PROG_CC.
* configure: Rebuild.
* Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
(INSTALL_DATA): Set to @INSTALL_DATA@.
(AR): Set to @AR@.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
(@host_makefile_frag@): Remove.
(ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
after other options.
(config.status): Remove dependency upon @frags@.
* config/*.mh, config/README: Remove.
* configure.in: Run ../bfd/configure.host before AC_PROG_CC.
Subsitute CFLAGS and AR. Call AC_PROG_INSTALL. Don't substitute
host_makefile_frag or frags.
* aclocal.m4: New file.
* configure: Rebuild.
* Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
(INSTALL_DATA): Set to @INSTALL_DATA@.
(AR): Set to @AR@.
(AR_FLAGS): Set to rc rather than qc.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(@host_makefile_frag@): Remove.
(config.status): Remove dependency upon @frags@.
* configure.in: Don't bother to call config.bfd for each target.
Just call it for the default target, and use the shell variable to
decide whether underscores are used.
* config.bfd: Rewrite to incorporate the contents of the Makefile
fragments by setting shell variables, rather than merely returning
the name of a Makefile fragment.
* configure.in: Use shell variables set by config.bfd rather than
looking at the target Makefile fragment files. Don't substitute
target_makefile_frag. Do substitute TDEFINES.
* configure: Rebuild.
* Makefile.in (@target_makefile_frag@): Remove.
(ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
* config/*.mt: Remove.
* symtab.c (list_symbols): Add missing blank after
`<function, no debug info>' output.
* valops.c (value_assign): Handle truncation when assigning
to bitfields. Use value_copy to construct the return value
from toval.
* values.c (value_copy): Copy VALUE_FRAME and VALUE_OPTIMIZED_OUT.
Fred Fish [Sat, 2 Sep 1995 07:25:13 +0000 (07:25 +0000)]
* gdb.base/callfuncs.exp (do_function_calls): Remove
mips-sgi-irix* xfail for
"call inferior func with struct - returns char *"
and fix test so that an optional (unsigned char *) cast is
accepted in the result.
Fred Fish [Fri, 1 Sep 1995 21:01:24 +0000 (21:01 +0000)]
* gdb.base/funcargs.exp (float_and_integral_args): Remove
sparc-sun-solaris2* xfail for "print f1 after run to call2a".
* gdb.c++/Makefile.in (SUFFIXES): Add .SUFFIXES and ".cc" suffix.
* gdb.base/signals.exp: Remove duplicate "handle all print" test
that accidentally got checked in.
Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
* elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
DT_FINI entry if the appropriate symbol is not in the hash table.
* libelf.h (struct elf_backend_data): Add create_program_headers
and want_hdr_in_seg fields.
* elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
defined.
(elf_backend_create_program_headers): Likewise.
(elfNN_bed): Initialize create_program_headers and
want_hdr_in_seg.
* elf.c (get_program_header_size): Call create_program_headers
backend routine.
(map_program_segments): Check want_hdr_in_seg backend field. Call
create_program_headers backend routine.
* elf.c (assign_file_positions_except_relocs): Align non allocated
sections when creating an executable.
* elfcode.h (elf_swap_phdr_in): Make non static.
(elf_swap_phdr_out): Make non static.
* libelf.h (bfd_elf32_swap_phdr_in): Declare.
(bfd_elf32_swap_phdr_out): Declare.
(bfd_elf64_swap_phdr_in): Declare.
(bfd_elf64_swap_phdr_out): Declare.
* elflink.h (elf_link_add_object_symbols): Handle indirect and
warning symbols. If any section is named .gnu.warning.XXX, treat
the contents as a warning to be issued if the symbol XXX is
referenced.
(elf_link_output_extsym): For an indirect or warning symbol, just
output the symbol it points to.