Commit Graph

7 Commits

Author SHA1 Message Date
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