[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
__thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whi
From: |
Thomas Schwinge |
Subject: |
__thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whittaker, updated. glibc-2.12-3577-g5b1f2ae) |
Date: |
Thu, 10 May 2012 09:17:33 +0800 |
User-agent: |
Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu) |
Hi Samuel!
On Thu, 10 May 2012 00:10:52 +0000, Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
> The branch, tschwinge/Roger_Whittaker has been updated
> commit d0dcb9e7be5d08ef0ecb486988331b9120a407e1
> Merge: e248bd0 b7f913c
> Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
> Date: Fri Apr 27 05:54:15 2012 +0200
>
> Merge branch 't/tls-threadvar' into
> refs/top-bases/tschwinge/Roger_Whittaker
I'm not seeing the updated t/tls-threadvar branch; please push.
> commit b7f913cb1bdf9ca718661af315b9f344dc77ebe8
> Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
> Date: Fri Apr 27 05:42:42 2012 +0200
>
> Move errno to TLS
>
> * sysdeps/mach/hurd/errno-loc.c: Remove file.
> * sysdeps/mach/hurd/errno.c: Remove file.
> * sysdeps/mach/hurd/dl-sysdep.c (errno): Remove variable.
This breaks ABI compatibility, doesn't it?
On a current system:
$ echo -e '#include <errno.h>\nint e(){return errno;}' | gcc -S -o - -O -x
c -
.file ""
.text
.globl e
.type e, @function
e:
.LFB0:
.cfi_startproc
subl $12, %esp
.cfi_def_cfa_offset 16
call __errno_location
movl (%eax), %eax
addl $12, %esp
.cfi_def_cfa_offset 4
ret
.cfi_endproc
.LFE0:
.size e, .-e
.ident "GCC: (Debian 4.6.3-1+hurd.3) 4.6.3"
.section .note.GNU-stack,"",@progbits
But I think solving this is easy, too: just return the __thread &errno
From __errno_location (and un-export that symbol for later glibc
versions). But this is for a later time, I'd say.
Also, I plan to move some bits of the t/tls branch into t/tls-threadvar:
t/tls should just add the mechanism for TLS (should be pushed upstream
soon), and t/tls-threadvar switches from Hurd threadvar to TLS (can go in
later). Makes sense to you?
Grüße,
Thomas
pgpE6Mhmc1I6C.pgp
Description: PGP signature
- __thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whittaker, updated. glibc-2.12-3577-g5b1f2ae),
Thomas Schwinge <=
- Re: __thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whittaker, updated. glibc-2.12-3577-g5b1f2ae), Samuel Thibault, 2012/05/09
- Re: __thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whittaker, updated. glibc-2.12-3577-g5b1f2ae), Thomas Schwinge, 2012/05/10
- glibc t/tls (was: __thread errno), Thomas Schwinge, 2012/05/10
- Re: __thread errno (was: [SCM] glibc maintenance branch, tschwinge/Roger_Whittaker, updated. glibc-2.12-3577-g5b1f2ae), Thomas Schwinge, 2012/05/10