Message ID | 1409221890-2516-1-git-send-email-wbx@openadk.org |
---|---|
State | Accepted |
Commit | c09e41ef92e48356e62c795384864ee792ac7fe6 |
Headers | show |
On Thu, Aug 28, 2014 at 12:31:19PM +0200, Waldemar Brodkorb wrote: > This reverts commit f51fb26dbcceee9e48d10facc830bd4a549f6cc2. As said, this sounds wrong but if it works for you.. Applied, thanks. > > This fixes linking error for sparc build. > While building a sparc system you get following linking error: > libc/sysdeps/linux/sparc/pipe.S:54: undefined reference to `__GI___errno_location' > > Removing the HIDDEN_JUMPTARGET fixes the issue, while using gcc 4.8.3/binutils 2.24. > > The definition of __errno_location was changed recently here: > http://git.uclibc.org/uClibc/commit/?id=8f550715c2b211036fc273add3cb5219397ed312
diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S index 8e4bc22..1715911 100644 --- a/libc/sysdeps/linux/sparc/fork.S +++ b/libc/sysdeps/linux/sparc/fork.S @@ -35,7 +35,7 @@ fork: bcc,a 9000f nop save %sp,-96,%sp - call HIDDEN_JUMPTARGET(__errno_location) + call __errno_location nop st %i0,[%o0] jmpl %i7+8,%g0 diff --git a/libc/sysdeps/linux/sparc/pipe.S b/libc/sysdeps/linux/sparc/pipe.S index b085faf..fa77f4d 100644 --- a/libc/sysdeps/linux/sparc/pipe.S +++ b/libc/sysdeps/linux/sparc/pipe.S @@ -49,7 +49,7 @@ pipe: restore %g0,%g0,%o0 .Lerror: - call HIDDEN_JUMPTARGET(__errno_location) + call __errno_location or %g0,EINVAL,%i0 st %i0,[%o0] ret diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S index 4b701f7..e5a3c30 100644 --- a/libc/sysdeps/linux/sparc/vfork.S +++ b/libc/sysdeps/linux/sparc/vfork.S @@ -37,7 +37,7 @@ __vfork: bcc,a 9000f nop save %sp,-96,%sp - call HIDDEN_JUMPTARGET(__errno_location) + call __errno_location nop st %i0,[%o0] jmpl %i7+8,%g0
This reverts commit f51fb26dbcceee9e48d10facc830bd4a549f6cc2. This fixes linking error for sparc build. While building a sparc system you get following linking error: libc/sysdeps/linux/sparc/pipe.S:54: undefined reference to `__GI___errno_location' Removing the HIDDEN_JUMPTARGET fixes the issue, while using gcc 4.8.3/binutils 2.24. The definition of __errno_location was changed recently here: http://git.uclibc.org/uClibc/commit/?id=8f550715c2b211036fc273add3cb5219397ed312 Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- libc/sysdeps/linux/sparc/fork.S | 2 +- libc/sysdeps/linux/sparc/pipe.S | 2 +- libc/sysdeps/linux/sparc/vfork.S | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)