Tue Apr 11 20:38:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>

* sysdeps/i386/add_n.S [PIC]: Use self-call to avoid generating reloc.
	* sysdeps/i386/sub_n.S [PIC]: Likewise.

	* libc-symbols.h (_elf_set_element) [PIC]: Don't make the element
 	word `const'.

	* Makeconfig (CPPFLAGS, CFLAGS): Fix swapped references to
 	$(foo-$(suffix $@)).

	* manual/Makefile (chapters-incl): Filter out summary.texi.
This commit is contained in:
Roland McGrath 1995-04-12 01:03:38 +00:00
parent 217d85b9c8
commit 53afa8d967
6 changed files with 39 additions and 4 deletions

View File

@ -1,5 +1,18 @@
Tue Apr 11 20:38:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/i386/add_n.S [PIC]: Use self-call to avoid generating reloc.
* sysdeps/i386/sub_n.S [PIC]: Likewise.
Mon Apr 10 14:53:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* libc-symbols.h (_elf_set_element) [PIC]: Don't make the element
word `const'.
* Makeconfig (CPPFLAGS, CFLAGS): Fix swapped references to
$(foo-$(suffix $@)).
* manual/Makefile (chapters-incl): Filter out summary.texi.
* stdlib/strtod.c (STRTOF): Use extra macro to make STRTOF's #defn
a weak symbol instead of literal "STRTOF".

View File

@ -340,8 +340,8 @@ endif # gcc
# These are the variables that the implicit compilation rules use.
CPPFLAGS = $(+includes) $(defines) -include $(..)libc-symbols.h \
$(sysdep-CPPFLAGS) $(CFLAGS-$(suffix $@))
override CFLAGS = $(+cflags) $(sysdep-CFLAGS) $(CPPFLAGS-$(suffix $@))
$(sysdep-CPPFLAGS) $(CPPFLAGS-$(suffix $@))
override CFLAGS = $(+cflags) $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@))
# This is the macro that the implicit linking rules use.

View File

@ -153,9 +153,17 @@ Cambridge, MA 02139, USA. */
/* These are all done the same way in ELF.
There is a new section created for each set. */
#ifdef PIC
/* When building a shared library, make the set section writable,
because it will need to be relocated at run time anyway. */
#define _elf_set_element(set, symbol) \
static const void *__elf_set_##set##_element_##symbol##__ \
__attribute__ ((section (#set))) = &(symbol)
#else
#define _elf_set_element(set, symbol) \
static const void *const __elf_set_##set##_element_##symbol##__ \
__attribute__ ((section (#set))) = &(symbol)
#endif
/* Define SET as a symbol set. This may be required (it is in a.out) to
be able to use the set's contents. */

View File

@ -1,6 +1,6 @@
# Makefile for the GNU C Library manual.
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1994, 1995 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
@ -35,11 +35,11 @@ endif
include chapters
chapters: libc.texinfo
$(find-includes)
chapters := $(filter-out summary.texi,$(chapters))
ifdef chapters
include chapters-incl
chapters-incl: $(chapters)
$(find-includes)
chapters-incl := $(filter-out summary.texi,$(chapters-incl))
endif
define find-includes

View File

@ -53,7 +53,14 @@ C_SYMBOL_NAME(__mpn_add_n:)
subl %eax,%esi /* ... by a constant when we ... */
subl %eax,%edx /* ... enter the loop */
shrl $2,%eax /* restore previous value */
#ifdef PIC
call here
here: leal (Loop - 3 - here)(%eax,%eax,8),%eax
addl (%esp),%eax
addl $4,%esp
#else
leal (Loop - 3)(%eax,%eax,8),%eax /* calc start addr in loop */
#endif
jmp *%eax /* jump into loop */
ALIGN (3)
Loop: movl (%esi),%eax

View File

@ -53,7 +53,14 @@ C_SYMBOL_NAME(__mpn_sub_n:)
subl %eax,%esi /* ... by a constant when we ... */
subl %eax,%edx /* ... enter the loop */
shrl $2,%eax /* restore previous value */
#ifdef PIC
call here
here: leal (Loop - 3 - here)(%eax,%eax,8),%eax
addl (%esp),%eax
addl $4,%esp
#else
leal (Loop - 3)(%eax,%eax,8),%eax /* calc start addr in loop */
#endif
jmp *%eax /* jump into loop */
ALIGN (3)
Loop: movl (%esi),%eax