Commit Graph

5 Commits

Author SHA1 Message Date
Allan McRae
d4697bc93d Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Joseph Myers
eb98356875 Don't make soft-fp symbols compat symbols for powerpc-nofpu.
sysdeps/powerpc/powerpc32/libgcc-compat.S makes certain symbols that
glibc once accidentally reexported from libgcc into compat symbols.

Where the exports were purely accidental, this is the right thing to
do.  However, for powerpc-nofpu the soft-fp symbols are deliberately
exported from libc, given public versions in
sysdeps/powerpc/nofpu/Versions and used by libm in preference to the
libgcc versions that do not support the software exceptions and
rounding modes.  The libc versions should also be usable by user
programs, though normally libgcc gets linked in first (meaning,
effectively, that the <fenv.h> functions are broken as regards their
expected effects on user arithmetic).

A longstanding todo item is to remove the functions in question from
libgcc (when built with recent enough glibc) - that is, remove them
from static libgcc and make them compat symbols in shared libgcc - so
that this works properly (this is one of the items mentioned at
<http://gcc.gnu.org/wiki/Software_floating_point> - parts of that page
are obviously out of date, but this item still applies).  Doing this
requires first that the functions are actually available from libc for
new links, not just as compat symbols.

This patch stops the symbols in question being compat symbols for
powerpc-nofpu.  The nofpu Versions entries for them are removed (the
symbols never were exported at GLIBC_2.3.2, only GLIBC_2.0, because
the compat symbols took precedence).

Tested powerpc-nofpu.  The symbols are no longer compat symbols and
libm.so now properly gets undefined references to them (resolved to
libc.so) instead of the libgcc copies getting linked into libm as
before.

	* sysdeps/powerpc/powerpc32/libgcc-compat.S
	[_SOFT_FLOAT || __NO_FPRS__] (__fixdfdi_v_glibc20): Do not define
	as a macro and a compat symbol.
	[_SOFT_FLOAT || __NO_FPRS__] (__fixsfdi_v_glibc20): Likewise.
	[_SOFT_FLOAT || __NO_FPRS__] (__fixunsdfdi_v_glibc20): Likewise.
	[_SOFT_FLOAT || __NO_FPRS__] (__fixunssfdi_v_glibc20): Likewise.
	[_SOFT_FLOAT || __NO_FPRS__] (__floatdidf_v_glibc20): Likewise.
	[_SOFT_FLOAT || __NO_FPRS__] (__floaddisf_v_glibc20): Likewise.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixdfdi): Do
	not use .hidden.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixsfdi):
	Likewise.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixunsdfdi):
	Likewise.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixunssfdi):
	Likewise.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__floaddidf):
	Likewise.
	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__floaddisf):
	Likewise.
	* sysdeps/powerpc/nofpu/Versions (libc): Remove __fixdfdi,
	__fixsfdi, __fixunsdfdi, __fixunssfdi, __floatdidf and __floatdisf
	from GLIBC_2.3.2.
2013-12-19 21:26:36 +00:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
92b27c7470 Update.
2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/__longjmp.S: ...here.
	* sysdeps/powerpc/add_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/add_n.S: ...here.
	* sysdeps/powerpc/addmul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/addmul_1.S: ...here.
	* sysdeps/powerpc/atomicity.h: Moved to...
	* sysdeps/powerpc/powerpc32/atomicity.h: ...here.
	* sysdeps/powerpc/backtrace.c: Moved to...
	* sysdeps/powerpc/powerpc32/backtrace.c: ...here.
	* sysdeps/powerpc/bp-asm.h: Moved to...
	* sysdeps/powerpc/powerpc32/bp-asm.h: ...here.
	* sysdeps/powerpc/bsd-_setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here.
	* sysdeps/powerpc/bsd-setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here.
	* sysdeps/powerpc/dl-machine.c: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.c: ...here.
	* sysdeps/powerpc/dl-machine.h: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.h: ...here.
	* sysdeps/powerpc/dl-start.S: Moved to...
	* sysdeps/powerpc/powerpc32/dl-start.S: ...here.
	* sysdeps/powerpc/gprrest0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest0.S: ...here.
	* sysdeps/powerpc/gprrest1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest1.S: ...here.
	* sysdeps/powerpc/gprsave0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave0.S: ...here.
	* sysdeps/powerpc/gprsave1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave1.S: ...here.
	* sysdeps/powerpc/lshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/lshift.S: ...here.
	* sysdeps/powerpc/memset.S: Moved to...
	* sysdeps/powerpc/powerpc32/memset.S: ...here.
	* sysdeps/powerpc/mul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/mul_1.S: ...here.
	* sysdeps/powerpc/ppc-mcount.S: Moved to...
	* sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here.
	* sysdeps/powerpc/register-dump.h: Moved to...
	* sysdeps/powerpc/powerpc32/register-dump.h: ...here.
	* sysdeps/powerpc/rshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/rshift.S: ...here.
	* sysdeps/powerpc/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/setjmp.S: ...here.
	* sysdeps/powerpc/stpcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/stpcpy.S: ...here.
	* sysdeps/powerpc/strchr.S: Moved to...
	* sysdeps/powerpc/powerpc32/strchr.S: ...here.
	* sysdeps/powerpc/strcmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcmp.S: ...here.
	* sysdeps/powerpc/strcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcpy.S: ...here.
	* sysdeps/powerpc/strlen.S: Moved to...
	* sysdeps/powerpc/powerpc32/strlen.S: ...here.
	* sysdeps/powerpc/sub_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/sub_n.S: ...here.
	* sysdeps/powerpc/submul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/submul_1.S: ...here.
	* sysdeps/powerpc/elf/bzero.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/bzero.S: ...here.
	* sysdeps/powerpc/elf/start.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/start.S: ...here.
	* sysdeps/powerpc/fpu/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here.
	* sysdeps/powerpc/fpu/fprrest.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here.
	* sysdeps/powerpc/fpu/fprsave.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here.
	* sysdeps/powerpc/fpu/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here.
	* sysdeps/powerpc/fpu/s_copysign.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here.
	* sysdeps/powerpc/fpu/s_copysignf.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here.
	Support PowerPC64.  Separate powerpc into powerpc/powerpc32 and
	powerpc/powerpc64.

2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* FAQ.in: Add powerpc64 to supported targets list. Also state the
	minimum gcc version is 3.2
	* README: Add powerpc64 to supported targets list.
	* configure.in: Change machine=powerpc to machine=powerpc/powerpc32.
	Add powerpc64 and machine=powerpc/powerpc64.
	(HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*.
	* shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64.
	* sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S,
	gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S.
	* sysdeps/powerpc/powerpc32/Dist: New file.
	* sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp.
	* sysdeps/powerpc/powerpc32/Implies: New file.
	* sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags.
	($(with-fp) = no): Move test to powerpc32/Makefile.
	($(subdir) = misc): Move to powerpc32/Makefile.
	($(build-shared) = yes): Move to powerpc32/Makefile.
	($(subdir) = csu): Move to powerpc32/Makefile.
	(sysdep-rtld-routines): Remove dl-start.  Moved these bits to ...
	* sysdeps/powerpc/powerpc32/Makefile: New file.
	* sysdeps/powerpc/Versions: Remove libgcc functions.
	* sysdeps/powerpc/powerpc32/Versions: New file.
	* sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest.
	* sysdeps/powerpc/powerpc32/fpu/Makefile: New file.
	* sysdeps/unix/sysv/linux/configure.in (powerpc*):
	Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set
	libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64.
	($machine): Add powerpc/powerpc64 to if ... | for
	libc_cv_slibdir=/libc64.
	(powerpc*): Set ldd_rewrite_script.
	* sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file.
	Add clone.S.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0
	functions.  Remove GLIBC_2.2 functions except getrlimit and
	setrlimit.  Moved them to ...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file.

2002-09-04  Ulrich Drepper  <drepper@redhat.com>

	* libio/tst-atime.c: Include <errno.h>.
	(do_test): Only perform fstatvfs check if ST_NOATIME is defined.

2002-09-03  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(build_collating_symbol): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(re_compile_pattern): Remove incorrect cast.
	(re_compile_fastmap_iter): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer
	in array subscript.
	(parse_bracket_exp): Likewise.
	* posix/regex_internal.c (re_string_construct_common): Likewise.
	(re_string_allocate): Likewise.
	(re_string_construct): Likewise.
	(re_string_realloc_buffers): Likewise.
	(build_wcs_buffer): Likewise.
	(re_string_reconstruct): Likewise.
	* posix/regex_internal.h: Change the type of characters in
	re_string_t and bracket_elem_t from "unsigned char" to "char".
	* posix/regexec.c (regexec): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(transit_state_bkref_loop): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(check_node_accept_bytes): Likewise.
	(find_collation_sequence_value): Likewise.
2002-09-05 10:28:51 +00:00