13627 Commits

Author SHA1 Message Date
ff31ebda50 * coff-sh.c (sh_relax_section): Cast value for used_by_bfd field to PTR, not
coff_section_tdata pointer, since PTR is the real type of the field.
* cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
1995-08-17 21:00:14 +00:00
80152a2019 * configure: Add Makefile.tem to list of files to remove in trap handler. 1995-08-17 20:04:38 +00:00
92962c7188 Add support for linking SPARC SunOS PIC compiled code.
* sunos.c (SPARC_PLT_PIC_WORD0): Define.
	(SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
	(struct sunos_link_hash_entry): Add got_offset and plt_offset
	fields.
	(struct sunos_link_hash_table): Add dynamic_sections_created and
	dynamic_sections_needed fields.
	(sunos_link_hash_newfunc): Initialize new fields.
	(sunos_link_hash_table_create): Initialize new fields.
	(sunos_create_dynamic_sections): New static function, broken out
	of sunos_add_dynamic_symbols.
	(sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
	(sunos_add_one_symbol): Call sunos_create_dynamic_sections.
	(bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
	checking whether we need to set up the dynamic link information.
	Define __GLOBAL_OFFSET_TABLE if anything referred to it.
	(sunos_scan_std_relocs): Call sunos_create_dynamic_sections.  Use
	plt_offset field; only put symbol in .plt if it is not defined by
	a regular object.
	(sunos_scan_ext_relocs): Likewise.  Handle base relative relocs.
	(sunos_scan_dynamic_symbol): Store dynobj in local variable.
	(sunos_write_dynamic_symbol): Check plt_offset rather than
	checking whether symbol is in .plt section.  If symbol is defined
	in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
	add a JMP_TBL reloc.
	(sunos_check_dynamic_reloc): Add contents and relocationp fields.
	If plt_offset is set, redirect relocation to PLT.  If this is a
	base relative reloc, redirect relocation to GOT.  Check
	dynamic_sections_needed field rather than whether dynobj is set.
	(sunos_finish_dynamic_link): Check dynamic_sections_needed field
	rather than whether dynobj is set.  Don't die if .need and .rules
	sections were not created.
	* aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
	PC relative.  Mark PC10 complain_overflow_dont.  Mark PC22 and
	JMP_TBL complain_overflow_signed.
	(NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
	(aout_link_input_section_std): Call check_dynamic_reloc for all
	relocs.  Pass contents and &relocation.  Don't warn about an
	undefined symbol until check_dynamic_reloc has been called.  Don't
	warn about an undefined symbol for a base relative reloc.
	(aout_link_input_section_ext): Likewise.  For a base relative
	reloc, always treat r_index as an index into the symbol table.
	* libaout.h (struct aout_backend_data): Add contents and
	relocation argument to check_dynamic_reloc entry point.
	(struct aoutdata): Add local_got_offsets field.
1995-08-17 19:30:46 +00:00
1ce8a30f17 * config/pa/tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Define.
Yes, this dusty old macro is really the right thing to do when you've
got a port which performs scheduling on prologues...  Fixes latest
mentor gdb PR.
1995-08-17 04:01:24 +00:00
a048254cce * scripttempl/armpe.sc: Always start code at 0x401000, even 1995-08-16 23:29:18 +00:00
ee473c97b5 * dlltool.c (gen_exp_file): Fix RVA handling.
(rva_s, rva_n): Delete.
1995-08-16 23:28:18 +00:00
a77024ef11 * binutils-all/nm.exp: Add setup_xfail for mips*-sony-bsd* for
tests which fail on ECOFF targets.
1995-08-16 22:38:42 +00:00
58bd5f50cf * as.h (alloca): Use void* declaration on HP/UX. 1995-08-16 22:15:28 +00:00
3a3a17b415 * gas/mri/mri.exp: Change hppa*-*-* expected failures to only
expect failure for targets which use SOM.
1995-08-16 21:57:37 +00:00
a46c0ed860 * lib/gas-defs.exp (run_dump_test): If the program to run does not
exist, mark the test as untested.
1995-08-16 21:13:52 +00:00
df0d80dbed * binutils-all/objcopy.exp: Change i*86-*-linux xfail for simple
copy test to check for i*86-*-linuxaout* instead.
1995-08-16 20:54:40 +00:00
7863267c43 * gas/mri/mri.exp: Add setup_xfail for i960 b.out targets for
common test.
1995-08-16 20:43:22 +00:00
a0cc993c12 * lib/gas-defs.exp (run_dump_test): Name the output file dump.o,
rather than using an implicit a.out.
1995-08-16 20:42:15 +00:00
22cd79c599 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttempl/armpe.sc: Always start code at 0x401000, even
	if -r.
	* ldwrite.c (strdup): New extern declaration.
	* ldgram.y (atype): New rule to clarify type parsing.
	* ldlang.c (init_os): Remove commented out code.
	(lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
	unless told not to by the link script.
1995-08-16 20:34:44 +00:00
4c67b523a3 * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
to WPLT30 for an undefined or external symbol.  Don't consider
	PC10 or PC22 to be a PC relative reloc when choosing between
	fx_addnumber and fx_offset.
1995-08-16 20:21:49 +00:00
51c7f8f3c2 * gas/mri/for.s: Add nop to round out to four byte boundary.
* gas/mri/repeat.s: Likewise.
	* gas/mri/while.s: Likewise.
	* gas/mri/for.d: Expected added nop.
	* gas/mri/repeat.d: Likewise.
	* gas/mri/while.d: Likewise.
1995-08-16 20:17:29 +00:00
4decdd5669 * config/tc-z8k.c (md_number_to_chars): Don't do it here, call
number_to_chars_bigendian.
	* config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
1995-08-16 20:05:54 +00:00
46ce3de0a9 * configure.in: Only configure gdb.chill for particular targets. 1995-08-16 19:03:10 +00:00
1d169acc61 * ldlang.c (lang_set_startof): New static function.
(lang_process): Call it.
1995-08-16 17:18:59 +00:00
d86e4acb0f * expr.c (operand): Add support for .startof. and .sizeof. by
using magic symbol names which the linker will recognize
	specially.
	* doc/as.texinfo: Take out note that .startof. and .sizeof. are
	not supported.
1995-08-16 17:18:00 +00:00
983be6687c * gas/mips/*.d: Change all test names to say MIPS. 1995-08-16 16:28:00 +00:00
9b22219054 * ldgram.y: Tweak casesymlist to avoid bison errors. 1995-08-16 16:26:57 +00:00
80fd1f4584 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
Solaris compatibility.
1995-08-16 15:50:27 +00:00
ce102e96e6 * gdb.base/Makefile.in: Add action to .c.o transformation
rule that generates a .ci file for each .o file and remove
	explicit .c.o rules except for callfuncs.o.
	* gdb.c++/Makefile.in:  Add .cc.o transformation rule that
	generates a .ci file for each .o file and remove explicit
	.cc.o rules.
	(clean): Remove *.tmp *.ci files.
	(EXECUTABLES): Remove templ-info.exp.
	* gdb.base/compiler.c: New file.
	* gdb.c++/compiler.cc: New file
	* gdb.base/scope.exp: Source gdb.base/scope.ci.
	Change rs6000-*-* xfail for
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal" and
	"print 'scope1.c'::filelocal_bss" and
	"print 'scope1.c'::filelocal_ro" and
	"print 'scope1.c'::foo::funclocal" and
	"print 'scope1.c'::foo::funclocal_ro" and
	"print 'scope1.c'::bar::funclocal" and
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal at foo" and
	"print 'scope1.c'::filelocal_bss at foo" and
	"print 'scope1.c'::filelocal_ro at foo" and
	"print 'scope1.c'::foo::funclocal at foo" and
	"print 'scope1.c'::foo::funclocal_bss at foo" and
	"print 'scope1.c'::foo::funclocal_ro at foo" and
	"print 'scope1.c'::bar::funclocal at foo" and
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal" and
	"print 'scope1.c'::filelocal_bss" and
	"print 'scope1.c'::filelocal_ro" and
	"print 'scope1.c'::foo::funclocal" and
	"print 'scope1.c'::foo::funclocal_bss" and
	"print 'scope1.c'::foo::funclocal_ro" and
	"print 'scope1.c'::bar::funclocal" and
	"print 'scope1.c'::bar::funclocal_bss"
	to only be xfail'd when not compiled with gcc.
	Add rs6000-*-* xfail for
	"print 'scope0.c'::filelocal_bss before run"
	when compiled with gcc.
	(test_at_main): Add rs6000-*-* xfail for
	"print filelocal_ro in test_at_main"
	when compiled with gcc.
	* gdb.base/ptype.exp: Source gdb.base/ptype.ci.
 	Add rs6000-*-aix* xfail for
	"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" and
	"ptype t_char_array",  not compiled with gcc.
	* gdb.base/list.exp (test_list_function):  Add rs6000-*-*
	xfail for "list foo (in include file)" when gcc	compiled.
	* gdb.base/funcargs.exp: Source gdb.base/funcargs.ci
 	(integral_args): Add rs6000-*-* xfail for
	"run to call0a" if not compiled with gcc.
	(unsigned_integral_args): Add rs6000-*-* xfail for
	"run to call1a" if not compiled with gcc.
	(float_and_integral_args):  Add rs6000-*-* xfail for
	"run to call2a" if not compiled with gcc and for
	"continue to call2b" for any compiler.
	Add rs6000-*-* xfail to
	"print f1 after run to call2a" for gcc compiled.
	(discard_and_shuffle): Add rs6000-*-* xfail for
	"run to call6a".
	(shuffle_round_robin): Add rs6000-*-* xfail for
	"backtrace from call7a" if not compiled with gcc.
	Add rs6000-*-* xfail for
	"backtrace from call7b" if compiled with gcc.
	(call_after_alloca): Add rs6000-*-* xfail for
	"print c in call_after_alloca" and
	"print s in call_after_alloca" and
	"backtrace from call_after_alloca_subr"
	if not compiled with gcc.
	(localvars_in_indirect_call): Add rs6000-*-* xfail for
	"print c in localvars_in_indirect_call" and
	"print c in localvars_in_indirect_call" and
	"backtrace in indirectly called function" and
	"stepping into indirectly called function"
	if not compiled with gcc.
	(localvars_after_alloca): Add rs6000-*-* xfail for
	"print c after runto localvars_after_alloca" and
	"print s after runto localvars_after_alloca" and
	"print i after runto localvars_after_alloca" and
	"print l after runto localvars_after_alloca"
	for all compilers.
	* gdb.base/whatis.exp: Source gdb.base/whatis.ci rather
	than whatis-info.exp.
	* gdb.base/opaque.exp: Source gdb.base/opaque0.ci rather
	than opaque-info.exp.
	Setup rs6000-*-* xfail for
	"ptype on opaque struct pointer (statically)" and
	"ptype on opaque struct pointer (dynamically)" when
	not compiled with gcc.
	* gdb.base/callfuncs.exp: Source gdb.base/callfuncs.ci
	rather than callf-info.exp.
	(do_function_calls):  Add clear_xfail for rs6000-*-* for
	"p t_float_values2(3.14159,float_val2)".  Seems to work
	fine there, both with xlc and gcc.  Need to find out what
	it is doing right and fix other platforms.
	* gdb.base/callfuncs.exp: Add rs6000-*-* xfail for
	"call inferior func with struct - returns int",
	"call inferior func with struct - returns long",
	"call inferior func with struct - returns float",
	"call inferior func with struct - returns double",
	"call inferior func with struct - returns char *",
	but only if not gcc compiled (presumes xlc compiled).
	Change rs6000-*-* xfails for
	"call inferior func with struct - returns char" and
	" call inferior func with struct -  returns short" to only
	xfail if not using gcc.
	(clean mostlyclean):  Remove *.ci and *.tmp files.
	* gdb.c++/templates.exp: Source gdb.c++/templates.ci rather
	than templ-info.exp.
	* gdb.base/langs.exp:  Source gdb.base/langs.ci.
	Add rs6000-*-* xfail for "up to foo in langs.exp"
	"up to cppsub_ in langs.exp" and "up to fsub in langs.exp"
 	when not gcc compiled.
1995-08-16 07:37:19 +00:00
54b8ecb5f1 all v2.2 && v2.3 autoconf-generated configure scripts updated to
autoconf v2.4 (not a very big change).  fixes PR 7695.
1995-08-16 04:06:53 +00:00
62a72a565d * ld-scripts/script.exp: Split script verification into a proc.
Add simple test of MRI script.
	* ld-scripts/scriptm.t: New file.
1995-08-15 21:37:19 +00:00
3a47309642 * ldgram.y (YYDEBUG): If not defined, define as 1.
(CASE, EXTERN, START): New tokens.
	(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
	(casesymlist): New nonterminal.
	(extern_name_list): New nonterminal.
	* ldlex.l: Accept lower case trailing base specifiers.  Don't
	ignore the first digit when the base is a suffix.  Accept many
	EXPRESSION state tokens in MRI state.  Support MRI continuation
	lines and MRI semicolon comments.  Accept all MRI keywords in
	lower case.  Add CASE, EXTERN, and START MRI keywords.
1995-08-15 21:35:46 +00:00
f5cf5e17bf * gas/mri/for.d, gas/mri/for.s: New test.
* gas/mri/if.d, gas/mri/if.s: New test.
	* gas/mri/repeat.d, gas/mri/repeat.s: New test.
	* gas/mri/while.d, gas/mri/while.s: New test.
	* gas/mri/mri.exp: Run the new tests.
1995-08-15 19:44:20 +00:00
c842dd375d * config/tc-m68k.c (md_pseudo_table): Add MRI structured control
directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
	break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
	for.l, endf, repeat, until, until.b, until.w, until.l, while,
	while.b, while.w, while.l, endw.
	(enum mri_control_type): Define.
	(struct mri_control_info): Define.
	(mri_control_stack): New static variable.
	(mri_control_index): New static variable.
	(mri_control_label): New static function.
	(push_mri_control, pop_mri_control): New static functions.
	(parse_mri_condition): New static function.
	(parse_mri_control_operand): New static function.
	(swap_mri_condition, reverse_mri_condition): New static functions.
	(build_mri_control_operand): New static function.
	(parse_mri_control_expression): New static function.
	(s_mri_if, s_mri_else, s_mri_endi): New static functions.
	(s_mri_break, s_mri_next): New static functions.
	(s_mri_for, s_mri_endf): New static functions.
	(s_mri_repeat, s_mri_until): New static functions.
	(s_mri_while, s_mri_endw): New static functions.
	* gasp.c (mrikinfo): Remove IF.
	* expr.c (get_symbol_end): Accept \001 as part of a name.
1995-08-15 19:42:47 +00:00
ec10503a73 * remote.c (remote_write_bytes): Chop up large transfers. 1995-08-15 14:53:24 +00:00
8513c9536d * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL way.
Reformat and reindent that code to GNU standards.
(BFD_FAST_SECTION_FILL): Don't define.
1995-08-15 01:28:59 +00:00
e551745b23 Departure of gcc.patch 1995-08-15 01:10:44 +00:00
dd17dde6de * gcc.patch: Remove, relevant only to long-ago versions of GCC. 1995-08-15 01:07:54 +00:00
ae71adb82b * blokcframe.c (inside_main_func): Add comments. 1995-08-14 22:15:16 +00:00
e15126c456 * gasp.c (do_align, get_any_string): Mark as static.
(do_assigna, do_assignc, new_file): Likewise.
1995-08-14 22:00:21 +00:00
56c423fec5 * blockframe.c (inside_main_func): Fix a typo in previous change. 1995-08-14 21:42:17 +00:00
8e11ad0acd * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
confusion with macro op.
1995-08-14 21:33:29 +00:00
f2cc4ccdc3 * gas/mri/expr.d: Permit leading zeroes, in case we're using a
64-bit BFD.
1995-08-14 20:59:36 +00:00
1deb3d7ac4 * config/sparc/tm-sparclite.h: Define FRAME_CHAIN_VALID_ALTERNATE. 1995-08-14 20:46:59 +00:00
0e2c2c1e3b * config/sparc/tm-sparclite.h: Define FRAME_CHAIN_VALID_ALTERNATE.
* blockframe.c (inside_main_func): If main func addr range not set,
	try to set it now.
1995-08-14 20:45:51 +00:00
b96c75f0b8 * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
or END_BRTAB fixups.
1995-08-14 20:10:21 +00:00
b2e0bd6315 * gasp/mri/*: New tests.
* gasp/gasp.exp: Run them.  Also, clean up the test names used in
	pass and fail.
1995-08-14 20:06:03 +00:00
7f5adcba04 * gasp.c (strip_comments): Comment out; it's not used.
(do_end): Add parameter.  In MRI mode, print it out.
	(do_irp): New static function.
	(sub_actual): Change parameter m to formal_hash, changing type
	from macro_entryh * to hash_table *.
	(macro_expand_body): New static function, broken out of
	macro_expand.
	(macro_expand): Call macro_expand_body.
	(K_*): Fully parenthesize.
	(K_IRP, K_IRPC): Define.
	(mrikinfo): Add IRP and IRPC.
	(process_pseudo_op): In MRI mode, print out END pseudo-op.  Pass
	line to do_end.  Handle K_IRP and K_IRPC.
1995-08-14 20:03:38 +00:00
9bef2324a2 * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
don't do anything with the option.
1995-08-14 19:50:12 +00:00
708fd841b6 * aoutx.h (NAME(aout,machine_type)): Handle a machine of
bfd_mach_sparc or bfd_mach_sparc64.
1995-08-14 16:43:17 +00:00
452a5efbaf * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
definition, add it to the dynamic symbol table if any dynamic
	object mentions it.  If we do add it, make sure we add the
	corresponding real symbol.
	(elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
	put in the dynamic symbol table, even if no regular object refers
	to it.
	* elf32-i386.c (elf_i386_check_relocs): When creating a shared
	library, don't allocate space for a PC relative reloc against a
	local symbol.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
	to accept symbol with weakdef set.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
	libary, don't copy over a PC relative reloc against a local
	symbol.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
PR 7711.
1995-08-14 15:57:17 +00:00
5c800455bf * frags.c (frag_align): Handle absolute_section.
* write.c (record_alignment): Likewise.
1995-08-13 21:19:00 +00:00
2e00287afc fix up aug 8 log entry 1995-08-13 09:37:59 +00:00
e289647bf8 * som.h (R_HPPA_BEGIN_BRTAB): Define.
(R_HPPA_END_BRTAB): Likewise.
	* som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.

More PA optimization infrastructure.
1995-08-13 06:43:23 +00:00
e62fb52590 * gas/sh/basic.exp: Update now that we know the right
bit patters for the new sts instructions.
1995-08-13 06:41:18 +00:00