mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
Update.
1998-08-14 10:08 Ulrich Drepper <drepper@cygnus.com> * manual/texinfo.tex: Update. 1998-08-07 Geoff Keating <geoffk@ozemail.com.au> * sysdeps/powerpc/backtrace.c: New file. 1998-08-14 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/fpu/setjmp.S: Correct value of R0 before calling sigjmp_save. * sysdeps/arm/elf/setjmp.S: Obsolete, deleted. 1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (install-symbolic-link): Fix spelling. 1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/elf.h (SHT_HIOS): Fix value. 1998-08-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/regex.c (WIDE_CHAR_SUPPORT): Don't generate defined as part of the expansion, this is undefined by the standard.
This commit is contained in:
parent
9d141cae00
commit
409dfcea95
27
ChangeLog
27
ChangeLog
@ -1,3 +1,30 @@
|
||||
1998-08-14 10:08 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* manual/texinfo.tex: Update.
|
||||
|
||||
1998-08-07 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* sysdeps/powerpc/backtrace.c: New file.
|
||||
|
||||
1998-08-14 Philip Blundell <pb@nexus.co.uk>
|
||||
|
||||
* sysdeps/arm/fpu/setjmp.S: Correct value of R0 before calling
|
||||
sigjmp_save.
|
||||
* sysdeps/arm/elf/setjmp.S: Obsolete, deleted.
|
||||
|
||||
1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* Makefile (install-symbolic-link): Fix spelling.
|
||||
|
||||
1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* elf/elf.h (SHT_HIOS): Fix value.
|
||||
|
||||
1998-08-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* posix/regex.c (WIDE_CHAR_SUPPORT): Don't generate defined as
|
||||
part of the expansion, this is undefined by the standard.
|
||||
|
||||
1998-08-13 19:41 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* posix/getconf.c: Add support for systems with incomplete confname.h.
|
||||
|
6
Makefile
6
Makefile
@ -90,9 +90,9 @@ install: subdir_install
|
||||
# Ignore the error if we cannot update /etc/ld.so.cache.
|
||||
ifeq (no,$(cross-compiling))
|
||||
ifeq (yes,$(build-shared))
|
||||
install: install-symblolic-link
|
||||
.PHONY: install-symblolic-link
|
||||
install-symblolic-link: subdir_install
|
||||
install: install-symbolic-link
|
||||
.PHONY: install-symbolic-link
|
||||
install-symbolic-link: subdir_install
|
||||
$(symbolic-link-prog) $(symbolic-link-list)
|
||||
|
||||
install:
|
||||
|
@ -267,7 +267,7 @@ typedef struct
|
||||
#define SHT_GNU_verneed 0x6ffffffe /* Version needs section. */
|
||||
#define SHT_GNU_versym 0x6fffffff /* Version symbol table. */
|
||||
#define SHT_HISUNW 0x6fffffff /* Sun-specific high bound. */
|
||||
#define SHT_HIOS 0x60000000 /* End OS-specific type */
|
||||
#define SHT_HIOS 0x6fffffff /* End OS-specific type */
|
||||
#define SHT_LOPROC 0x70000000 /* Start of processor-specific */
|
||||
#define SHT_HIPROC 0x7fffffff /* End of processor-specific */
|
||||
#define SHT_LOUSER 0x80000000 /* Start of application-specific */
|
||||
|
@ -1,5 +1,5 @@
|
||||
% texinfo.tex -- TeX macros to handle Texinfo files.
|
||||
% $Id: texinfo.tex,v 2.218 1998/07/22 10:59:56 drepper Exp $
|
||||
% $Id: texinfo.tex,v 2.219 1998/08/15 02:38:13 drepper Exp $
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
|
||||
% Free Software Foundation, Inc.
|
||||
@ -27,10 +27,10 @@
|
||||
% reports; you can get the latest version from:
|
||||
% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
|
||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
% (and all GNU mirrors, see ftp://ftp.gnu.org/pub/gnu/README.mirrors)
|
||||
% (and all GNU mirrors, see ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP)
|
||||
% ftp://tug.org/tex/texinfo.tex
|
||||
% ftp://ctan.org/macros/texinfo/texinfo.tex
|
||||
% (and all CTAN mirrors, finger ctan@tug.org for a list).
|
||||
% (and all CTAN mirrors, finger ctan@ctan.org for a list).
|
||||
% The texinfo.tex in the texinfo distribution itself could well be out
|
||||
% of date, so if that's what you're using, please check.
|
||||
%
|
||||
@ -40,7 +40,7 @@
|
||||
%
|
||||
% To process a Texinfo manual with TeX, it's most reliable to use the
|
||||
% texi2dvi shell script that comes with the distribution. For simple
|
||||
% manuals, you can get away with:
|
||||
% manuals, however, you can get away with:
|
||||
% tex foo.texi
|
||||
% texindex foo.??
|
||||
% tex foo.texi
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
% This automatically updates the version number based on RCS.
|
||||
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
|
||||
\deftexinfoversion$Revision: 2.218 $
|
||||
\deftexinfoversion$Revision: 2.219 $
|
||||
\message{Loading texinfo package [Version \texinfoversion]:}
|
||||
|
||||
% If in a .fmt file, print the version number
|
||||
@ -959,9 +959,17 @@ where each line of input produces a line of output.}
|
||||
|
||||
% @value{foo} gets the text saved in variable foo.
|
||||
%
|
||||
\def\value{\begingroup
|
||||
\catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
|
||||
{
|
||||
\catcode`\_ = \active
|
||||
%
|
||||
% We might end up with active _ or - characters in the argument if
|
||||
% we're called from @code, as @code{@value{foo-bar_}}. So \let any
|
||||
% such active characters to their normal equivalents.
|
||||
\gdef\value{\begingroup
|
||||
\catcode`\-=12 \catcode`\_=12
|
||||
\indexbreaks \let_\normalunderscore
|
||||
\valuexxx}
|
||||
}
|
||||
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
|
||||
|
||||
% We have this subroutine so that we can handle at least some @value's
|
||||
@ -1190,8 +1198,8 @@ where each line of input produces a line of output.}
|
||||
\setfont\ninett\ttshape{9}{1000}
|
||||
\setfont\ninettsl\ttslshape{10}{900}
|
||||
\setfont\indrm\rmshape{9}{1000}
|
||||
\setfont\indit\slshape{9}{1000}
|
||||
\let\indsl=\indit
|
||||
\setfont\indit\itshape{9}{1000}
|
||||
\setfont\indsl\slshape{9}{1000}
|
||||
\let\indtt=\ninett
|
||||
\let\indttsl=\ninettsl
|
||||
\let\indsf=\indrm
|
||||
@ -1340,13 +1348,14 @@ where each line of input produces a line of output.}
|
||||
% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
|
||||
% unless the following character is such as not to need one.
|
||||
\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
|
||||
\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
|
||||
\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
|
||||
\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
|
||||
|
||||
\let\i=\smartitalic
|
||||
\let\var=\smartitalic
|
||||
\let\dfn=\smartitalic
|
||||
\let\var=\smartslanted
|
||||
\let\dfn=\smartslanted
|
||||
\let\emph=\smartitalic
|
||||
\let\cite=\smartitalic
|
||||
\let\cite=\smartslanted
|
||||
|
||||
\def\b#1{{\bf #1}}
|
||||
\let\strong=\b
|
||||
@ -1413,20 +1422,18 @@ where each line of input produces a line of output.}
|
||||
% and arrange explicitly to hyphenate at a dash.
|
||||
% -- rms.
|
||||
{
|
||||
\catcode`\-=\active
|
||||
\catcode`\_=\active
|
||||
\catcode`\|=\active
|
||||
\global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex}
|
||||
% The following is used by \doprintindex to insure that long function names
|
||||
% wrap around. It is necessary for - and _ to be active before the index is
|
||||
% read from the file, as \entry parses the arguments long before \code is
|
||||
% ever called. -- mycroft
|
||||
% _ is always active; and it shouldn't be \let = to an _ that is a
|
||||
% subscript character anyway. Then, @cindex @samp{_} (for example)
|
||||
% fails. --karl
|
||||
\global\def\indexbreaks{%
|
||||
\catcode`\-=\active \let-\realdash
|
||||
}
|
||||
\catcode`\-=\active
|
||||
\catcode`\_=\active
|
||||
%
|
||||
\global\def\code{\begingroup
|
||||
\catcode`\-=\active \let-\codedash
|
||||
\catcode`\_=\active \let_\codeunder
|
||||
\codex
|
||||
}
|
||||
%
|
||||
% If we end up with any active - characters when handling the index,
|
||||
% just treat them as a normal -.
|
||||
\global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
|
||||
}
|
||||
|
||||
\def\realdash{-}
|
||||
|
@ -46,12 +46,11 @@
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#define WIDE_CHAR_SUPPORT \
|
||||
defined _LIBC || (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
|
||||
#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
|
||||
|
||||
/* For platform which support the ISO C amendement 1 functionality we
|
||||
support user defined character classes. */
|
||||
#if WIDE_CHAR_SUPPORT
|
||||
#if defined _LIBC || WIDE_CHAR_SUPPORT
|
||||
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
|
||||
# include <wchar.h>
|
||||
# include <wctype.h>
|
||||
@ -1719,7 +1718,7 @@ typedef struct
|
||||
} \
|
||||
}
|
||||
|
||||
#if WIDE_CHAR_SUPPORT
|
||||
#if defined _LIBC || WIDE_CHAR_SUPPORT
|
||||
/* The GNU C library provides support for user-defined character classes
|
||||
and the functions from ISO C amendement 1. */
|
||||
# ifdef CHARCLASS_NAME_MAX
|
||||
@ -2223,7 +2222,7 @@ regex_compile (pattern, size, syntax, bufp)
|
||||
the leading `:' and `[' (but set bits for them). */
|
||||
if (c == ':' && *p == ']')
|
||||
{
|
||||
#if WIDE_CHAR_SUPPORT
|
||||
#if defined _LIBC || WIDE_CHAR_SUPPORT
|
||||
boolean is_lower = STREQ (str, "lower");
|
||||
boolean is_upper = STREQ (str, "upper");
|
||||
wctype_t wt;
|
||||
|
@ -1,76 +0,0 @@
|
||||
/* setjmp for arm, ELF version.
|
||||
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#define _ASM
|
||||
#define _SETJMP_H
|
||||
#include <bits/setjmp.h>
|
||||
|
||||
/* We include the BSD entry points here as well but we make
|
||||
them weak. */
|
||||
ENTRY (setjmp)
|
||||
.weak C_SYMBOL_NAME (setjmp)
|
||||
@ call comes here with
|
||||
@ lr = return pc
|
||||
@ r0 = &jump_buf
|
||||
|
||||
@ add a second argument into the fray
|
||||
mov r1, #1
|
||||
@ call the common code
|
||||
b __sigsetjmp(PLT)
|
||||
END (setjmp)
|
||||
|
||||
/* Binary compatibility entry point. */
|
||||
ENTRY (_setjmp)
|
||||
.weak C_SYMBOL_NAME (_setjmp)
|
||||
ENTRY (__setjmp)
|
||||
@ call comes here with
|
||||
@ lr = return pc
|
||||
@ r0 = &jump_buf
|
||||
|
||||
@ add a second argument into the fray
|
||||
mov r1, #1
|
||||
@ fall through to the common code....
|
||||
|
||||
ENTRY (__sigsetjmp)
|
||||
@ save the registers into the jmp_buf....
|
||||
stmia r0, {r1-r6, sl, fp, sp, lr}
|
||||
|
||||
/* Make a tail call to __sigjmp_save; it takes the same args. */
|
||||
#ifdef PIC
|
||||
/* We cannot use the PLT, because it requires that sl==r10 be set, but
|
||||
we can't save and restore our caller's value. Instead, we do an
|
||||
indirect jump through the GOT, using for the temporary register
|
||||
ip, which is call-clobbered. */
|
||||
ldr ip, 1f
|
||||
add ip, ip, pc
|
||||
2: @ get the address of __sigjmp_save
|
||||
ldr r1, 3f
|
||||
ldr ip, [ip, r1]
|
||||
@ restore r1
|
||||
ldr r1, [r0]
|
||||
@ jump to *__sigjmp_save
|
||||
mov pc, ip
|
||||
1: .word _GLOBAL_OFFSET_TABLE_ - 2b - 4
|
||||
3: .word __sigjmp_save(GOT)
|
||||
|
||||
#else
|
||||
b __sigjmp_save
|
||||
#endif
|
||||
END (__sigsetjmp)
|
@ -30,6 +30,9 @@ ENTRY (__sigsetjmp)
|
||||
sfmea f4, 4, [r0]!
|
||||
stmia r0, {v1-v6, sl, fp, sp, lr}
|
||||
|
||||
/* Restore pointer to jmp_buf */
|
||||
sub r0, r0, #48
|
||||
|
||||
/* Make a tail call to __sigjmp_save; it takes the same args. */
|
||||
B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
|
||||
END (__setjmp)
|
||||
|
63
sysdeps/powerpc/backtrace.c
Normal file
63
sysdeps/powerpc/backtrace.c
Normal file
@ -0,0 +1,63 @@
|
||||
/* Return backtrace of current program state.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <execinfo.h>
|
||||
|
||||
/* This is the stack layout we see with every stack frame.
|
||||
Note that every routine is required by the ABI to lay out the stack
|
||||
like this.
|
||||
|
||||
+----------------+ +-----------------+
|
||||
%r1 -> | %r1 last frame--------> | %r1 last frame--->... --> NULL
|
||||
| | | |
|
||||
| (unused) | | return address |
|
||||
+----------------+ +-----------------+
|
||||
*/
|
||||
struct layout
|
||||
{
|
||||
struct layout *next;
|
||||
void *return_address;
|
||||
};
|
||||
|
||||
int
|
||||
__backtrace (void **array, int size)
|
||||
{
|
||||
struct layout *current;
|
||||
int count;
|
||||
|
||||
/* Force gcc to spill LR. */
|
||||
asm volatile ("" : "=l"(current));
|
||||
|
||||
/* Get the address on top-of-stack. */
|
||||
asm volatile ("lwz %0,0(1)" : "=r"(current));
|
||||
|
||||
for ( count = 0;
|
||||
current != NULL && count < size;
|
||||
current = current->next, count++)
|
||||
array[count] = current->return_address;
|
||||
|
||||
/* It's possible the second-last stack frame can't return
|
||||
(that is, it's __libc_start_main), in which case
|
||||
the CRT startup code will have set its LR to 'NULL'. */
|
||||
if (count > 0 && array[count-1] == NULL)
|
||||
count--;
|
||||
|
||||
return count;
|
||||
}
|
||||
weak_alias (__backtrace, backtrace)
|
Loading…
Reference in New Issue
Block a user