8 Commits

Author SHA1 Message Date
Aurelien Jarno
b87c1ec3fa MIPS, SPARC: more fixes to the vfork aliases in libpthread.so
Commit 43c29487 tried to fix the vfork aliases in libpthread.so on MIPS
and SPARC, but failed to do it correctly, introducing an ABI change.

This patch does the remaining changes needed to align the MIPS and SPARC
vfork implementations with the other architectures. That way the the
alpha version of pt-vfork.S works correctly for MIPS and SPARC. The
changes for alpha were done in 82aab97c.

Changelog:
	* sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Rename into
	__libc_vfork.
	(__vfork) [IS_IN (libc)]: Remove alias.
	(__libc_vfork) [IS_IN (libc)]: Define as an alias.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
2016-06-27 09:59:37 +02:00
Aurelien Jarno
43c2948756 MIPS, SPARC: fix wrong vfork aliases in libpthread.so
With recent binutils versions the GNU libc fails to build on at least
MISP and SPARC, with this kind of error:

  /home/aurel32/glibc/glibc-build/nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0'
  /home/aurel32/glibc/glibc-build/nptl/libpthread.so::(.text+0xee50): first defined here

It appears that on these architectures pt-vfork.S includes vfork.S
(through the alpha version of pt-vfork.S) and that the __vfork aliases
are not conditionalized on IS_IN (libc) like on other architectures.
Therefore the aliases are also wrongly included in libpthread.so.

Fix this by properly conditionalizing the aliases like on other
architectures.

Changelog:
	* sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Conditionalize
	hidden_def, weak_alias and strong_alias on [IS_IN (libc)].
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
2016-06-18 19:11:23 +02:00
Joseph Myers
f7a9f785e5 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Joseph Myers
b168057aaa Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
David S. Miller
f6fdf53382 Consolidate sparc clone, fork, and vfork implementations.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Delete.
	* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S: Delete.
	* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Moved ...
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: ... here.
	* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Delete.
	* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: Delete.
	* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Moved ...
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: ... here.
	* sysdeps/unix/sysv/linux/sparc/fork.S: Delete.
	* sysdeps/unix/sysv/linux/sparc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start):
	Remove RESET_PID cpp guards.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start):
	Remove RESET_PID cpp guards.
	* sysdeps/unix/sysv/linux/sparc/vfork.S: Delete.
2014-06-13 14:47:53 -07:00
Ulrich Drepper
e1f601e878 Update.
1999-02-03  Jakub Jelinek  <jj@ultra.linux.cz>

	* sysdeps/generic/segfault.c: Add ADVANCE_STACK_FRAME
	macro, so that architectures which need to add some special
	offset to stack pointer can share this file.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: New file.

	* sysdeps/unix/sysv/linux/sparc/sparc32/bits/mman.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/mman.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: New file - common
	between sparc32 and sparc64.

	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/vfork.S: New file - common
	between sparc32 and sparc64.

	* sysdeps/unix/sysv/linux/sparc/sparc32/fork.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fork.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/fork.S: New file - common
	between sparc32 and sparc64.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: New file - common
	between sparc32 and sparc64.
1999-02-07 20:46:14 +00:00
Ulrich Drepper
28fd0f23c1 Update.
1999-01-31  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: If the kernel
	doesn't have vfork, resort to using fork.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
1999-01-30 17:38:29 +00:00
Ulrich Drepper
84514bcbf2 Update.
* sysdeps/unix/sparc/vfork.S: Correct comment.
	* sysdeps/unix/sparc/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove vfork.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/fork.S: No special case for
	child necessary.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: New file.
	Patches by Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>.

	* sysdeps/libm-i387/s_fdim.S: Change fsubp to fsubrp for picky gas.
1999-01-29 12:01:59 +00:00