- didn't need to/mean to update libstdc++ yet
- mknative generated bogus files that ended having libstc++ not install
various required headers.
should fix the "can't find iostream.h" lossage in src/regress.
(and associated targets for .dvi et al), as well as man pages from .pod,
using a prefix of `# '.
This prevents a variety of build issues caused by situations such as
cvs checkouts which result in the .texinfo file being slightly newer
than the .info file, and the build process trying to unnecessarily
regenerate them, which will fail in a variety of circumstances
(build tools not available, read-only source, etc ...)
Once a better solution is found, we can switch to it.
For now, this improves things greatly and should reduce a lot of
support requests that would undoubtably appear otherwise...
threads. This is useful for a variety of things, including examing the
internal state of the thread library when things are going wrong
there.
Currently only works on core files; both ptrace and gdb will need a
bit more work before this will be useful on live processes.
Inspired by the similar behavior of the Solaris thread module.
not overlap our final result register.
Fixes problem that causes Metafont in teTeX to crash.* arm.c (arm_reload_in_hi): Ensure that the scratch register does
not overlap our final result register.
Fixes problem that causes Metafont in teTeX to crash.
such as Makefile.in are ``out of date'' and ``helpfully'' attempt to
update them with autoconf, autoheader, or automake.
Fixes some toolchain PRs, and my sanity.
Major changes since 4.3:
* Language:
. The ' (ASCII apostrophe/right quote) character is finally allowed in
node and anchor names. Thus, after installing this texinfo.tex,
existing .aux files will cause errors! Remove them and rerun TeX to
generate good ones.
. @value constructs are now expanded in the filename arguments to
@include and @verbatiminclude.
* texinfo.tex:
. @smallexample and the like now output in a smaller font (9pt) in all
paper formats, not just @smallbook and @afourpaper.
. new translation txi-tr.tex.
* info:
. CTRL-H is treated like DEL in incremental search.
. arrow keys once again work in isearch contexts under Solaris.
* infokey:
. use .info key bindings before defaults.
. allow prefix keys to be disabled.
Bug fixes all around.
<http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/?cvsroot=src>
to fix relocation problem on linking startup routines for sh3:
src/bfd/elf32-sh.c revision 1.36:
> * elf32-sh.c (sh_elf_howto_table, R_SH_REL32): Make
> partial_inplace, matching assembler output. Set src_mask to
> all ones.
> (sh_elf_relocate_section): Delete misplaced comment.
> For relocatable linking against section symbol, call
> _bfd_relocate_contents for partial_inplace relocs and adjust
> rel->r_addend for others.
> <case R_SH_DIR32, R_SH_REL32>: Fetch partial_inplace addend with
> bfd_get_32, not at rel->r_addend.
src/gas/config/tc-sh.c revision 1.43:
> * config/tc-sh.c (md_pcrel_from_section): Transformed from
> md_pcrel_from. Handle pc-relativeness against link-time
> symbol. Handle relativeness to elsewhere than the fixup.
src/gas/config/tc-sh.h revision 1.14:
> * config/tc-sh.h (MD_PCREL_FROM_SECTION): Define.
> (md_pcrel_from_section): Prototype.
Thanks to Kaz Kojima and Jason R Thorpe for their comments.
especially when you follow using non-POSIX vfork()
defining _POSIX_SOURCE means "POSIX clean environment", which means
(besides other things) that we won't get proper definition of e.g.
vfork() and end up with the compatibility stub
* If -pthread is specified, add -lpthread and -D_PTHREADS.
More thread support to come; this is just a start (sigh, it's
handled so much nicer in 3.3...).
file name rather than relying upon "$@", since the latter might be the
path to an older version of the "stamp" file located in (possibly read-only)
source.
Fixes an annoying-to-debug build problem I hit in tools/texinfo...
- add '-D ${DESTDIR}' to INSTPRIV, so install(8) removes the leading
${DESTDIR} from the metalogged path
- provide ${METADB.add} variable (for "${CAT} -l >> ${METALOG}"), to make
it easier to replace manual metalog manipulation in the future.
- with manual metalog additions, don't add the leading ${DESTDIR} in the path
- in maketars, use "mtree -C ..." instead of
"mtree -D ... | sed -e 's,\(.*\) \(\..*\),\2 \1,";
Benefits:
- maketars "Parsing METALOG" step speeds up from 29 seconds to 1.2 seconds
on a P3-600.
(This also benefits "make installworld" at the top level.)
- ${DESTDIR}/METALOG is easier to read without the leading "${DESTDIR}"
on all the pathnames, and it's smaller as well.
Background:
Originally, the EH labels were placed on the permanent obstack, which
could end up using a lot of memory (for heavy inlining) since inlined
labels also needed to be permanent as a result of this.
This was changed in
Wed Dec 9 09:12:40 1998 Andrew MacLeod <amacleod@cygnus.com>
* except.h (struct handler_info): Add handler_number field.
* except.c (gen_exception_label): EH labels no longer need to be
on the permanent obstack.
(get_new_handler): Set the label number field.
(output_exception_table_entry): Regenerate handler label reference
from the label number field.
(init_eh): Remove a blank line.
* integrate.c (get_label_from_map): Labels no longer need to be
on the permanent obstack.
by using the label numbers instead of the label structures in most cases.
The operative word here is "most" cases. Addresses to the EH RTX was still
used in (at least) flow.c, that now used freed memory. Oops.
For this to happen, the freed address of the RTX representing a EH label
must be reused for a new label that is located in dead code. delete_block()
will then see that this RTX is mentioned in the EH table, and (incorrectly)
remove the exception handler.
This might be seen when, for example, compiling
src/gnu/dist/groff/src/roff/troff/node.cc for m68k.
sections with .text if the following 3 conditions are true:
1. Section has file contents and is read-only.
2. The VMA of the section is after the end of .text and before
the start of .data.
3. The image is demand-pageable (otherwise, a_text in the header
will not reflect the gap between .text and .data).
Fixes PR 19164.
* If -mhard-float is passed to the compiler, pass -mfpa10 to the assembler.
* If -msoft-float is passed to the compiler, pass -mfpu=softvfp to the
assembler.
* If neither -mhard-float nor -msoft-float are passed to the compiler,
pass -mfpu=softvfp to the assembler.
These changes properly mark objects as using soft-VFP, as is the default
code generation for NetBSD ARM ELF.
* FPU_MEMMULTI -- only include the FPU_FPA10 bit.
* FPU_ARCH_VFP -- define, meaning "uses VFP-format layout".
* FPU_FPA -- define short-hand for (FPU_CORE|FPU_FPA10).
* FPU_DEFAULT -- FPU_ALL -> FPU_FPA.
* Floating point instructions -- FPU_ALL -> FPU_FPA.
* Also set F_SOFT_FLOAT if FPU_ARCH_VFP.
* Set F_VFP_FLOAT if FPU_ARCH_VFP.
* md_atof: lay out bytes properly if using VFP.
* Accept -mfpu=softvfp.
* For -mall, set the FPU part of cpu_variant to FPU_FPA, instead of
FPU_ALL.
C-referenceable names, i.e. "link sets") that happens with explicit
LMAs in the linker script:
* As orphans are sorted after sections, the effective
size of the section is changed. Record a size ajustment
for each orphan that is sorted after the section.
...and for sections which have an explicit load address expression:
* The first time an orphan is sorted after a section,
copy the load_base expression to the orphan, adding
the _unadjusted_ size of the parent section. We need
to use the unadjusted size because by the time the
expression can be folded, all of the orphan size
adjustments will have accumulated, resulting in misplacing
the orphan.
* For each subsequent orphan sorted after a section,
set the load_base of the orphan to the load address
of the previous orphan plus the size of the previous
orphan (actually, the unadjusted size, but for orphans,
size and unadjusted size are always equal).
function to include crti.o/crtn.o in the STARTFILE and ENDFILE
specs, respectively.
Corresponding GCC ChangeLog entry:
2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
* gcc.c (The Specs Language): Document spec functions.
(static_spec_functions, lookup_spec_function)
(eval_spec_function, handle_spec_function)
(if_exists_spec_function, alloc_args): New.
(execute): Abort if processing_spec_function is true.
(do_spec_1): Hand off spec to handle_spec_function if %:
is encountered. If processing_spec_function is true,
end any pending argument when the end of the string is reached.
(main): Use alloc_args to allocate the initial argument vector.
* gcc.h (struct spec_function): New.
(lang_specific_spec_functions): New extern.
* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
(ENDFILE_SPEC): Add if-exists(crtn%O%s).
* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
unless one of the following flags are passed to the compiler:
-mno-abicalls
-fno-pic
-fno-PIC
Based on the following change in gcc-current:
2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
unless -fno-pic or -fno-PIC is specified.
The -mno-abicalls handling is new to this patch, and will be checked
into gcc-current shortly.
2002-09-28 Matt Thomas <matt@3am-software.com>
Jason Thorpe <thorpej@wasabisystems.com>
* config/tc-vax.c (md_estimate_size_before_relax): Only try to
convert undefined references to GOT32/PLT32 if PIC code is
requested. Fix comment.
with bfd_elf_set_dt_needed_soname(). Fixes the "NEEDED crtend.o"
problem reported on tech-toolchain/current-users.
Problem spotted by Ryo HAYASAKA <ryoh@jaist.ac.jp>.
<string>" message if the stars were aligned incorrectly due to fast-and-
loose list handling.
The list handling code didn't discriminate between list nodes and list
heads, resulting in string comparisons using memory in the "list heads
by length" array as the target of the comparison; if the string being
handled was short enough and the pointers present in the list heads
array were just the right form the tool would get spurious matches and
exit with the above message.
PR toolchain/18858
change INITIALIZE_TRAMPOLINE() to use it, and apply the following
patch to it (which I have already submitted to GCC 3.3):
* config/i386/i386.c (x86_initialize_trampoline): Emit a call
to __enable_execute_stack with the address of the trampoline
if TRANSFER_FROM_TRAMPOLINE is defined.
Define a TRANSFER_FROM_TRAMPOLINE suitable for NetBSD targets, to enable
stack execution on target machines which can separate exec permissions for
a region:
* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define.
* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
as NETBSD_ENABLE_EXECUTE_STACK.
* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
* config/sparc/netbsd-elf-common.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
* config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
(A similar patch will be submitted to GCC 3.3.)
2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
* config/alpha/alpha.c (alpha_initialize_trampoline): Use
tramp, not addr, to pass the trampoline address to
__enable_execute_stack.
Otherwise, incorrect behavior would result if the trampoline happend
to stradle a page boundary.
anything includes <fnmatch.h>. Using our native /usr/include/fnmatch.h is
no good idea, they are incompatible.
XXX - why is tar using it's own implementation?
I'm not sure this is the right way to handle the problem, but it made
a "make cleandir && make" here possible again.
we saved the GOT pointer register.
Note: This is already fixed in the GCC 3 sources, but GCC 3 uses a different
condition to determine whether to save and restore the register, so the patch
cannot be the same.
large functions for ARMv4):
Fri Nov 12 13:31:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
addresses the same way GO_IF_LEGITIMATE_INDEX does.
two variables:
TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
no working in-tree toolchain (hppa, ns32k, sh5, x86_64).
EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
an external toolchain (e.g. /usr/local/gnu). This enables the cross-build
framework even for TOOLCHAIN_MISSING platforms.
If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
unconditionally set to "no", since the bits are not there to build.
If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
since the external toolchain's compiler is not in-sync with the
in-tree compiler support components (e.g. libgcc).
* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
that file can use it.
local_got_offset cruft that's was still there. Change the way
got_entries were assigned. Now do it in elf_vax_size_dynamic_sections.
Add a routine elf_vax_instantiate_got_entries which assigns space in
the GOT or changes to normal PC32 references for static or symbolic links.
* Rename TARGET_ATPCS_STACK_ALIGN to TARGET_ATPCS.
* Move APTCS aggregate return rules to arm_return_in_memory(), conditional
on TARGET_ATPCS, and make it also return true for variable-sized aggregates.