summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog9
-rw-r--r--winsup/cygwin/cygtls.h12
-rw-r--r--winsup/cygwin/globals.cc3
-rw-r--r--winsup/cygwin/tlsoffsets.h82
-rw-r--r--winsup/cygwin/uinfo.cc2
5 files changed, 57 insertions, 51 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 28188c204..a75f54caa 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,14 @@
2011-05-16 Corinna Vinschen <corinna@vinschen.de>
+ * cygtls.h (struct _local_storage): Remove unused members rarg and
+ _localtime_buf. Remove username in favor of a global buffer. Reorder
+ slightly to keep the net.cc stuff together.
+ * globals.cc (__getlogin_username): New global char buffer.
+ * tlsoffsets.h: Regenerate.
+ * uinfo.cc (getlogin): Copy username into __getlogin_username.
+
+2011-05-16 Corinna Vinschen <corinna@vinschen.de>
+
* heap.cc (heap_init): Rewrite initial heap allocation to use addresses
beyond 0x20000000. Explain why and how.
* shared.cc (shared_info::heap_slop_size): Remove.
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index 4715d37b4..4d4306b33 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -1,6 +1,6 @@
/* cygtls.h
- Copyright 2003, 2004, 2005, 2008, 2009, 2010 Red Hat, Inc.
+ Copyright 2003, 2004, 2005, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -82,9 +82,6 @@ struct _local_storage
char *namearray[2];
int grp_pos;
- /* console.cc */
- unsigned rarg;
-
/* dlfcn.cc */
int dl_error;
char dl_buffer[256];
@@ -116,15 +113,12 @@ struct _local_storage
/* times.cc */
char timezone_buf[20];
- struct tm _localtime_buf;
- /* uinfo.cc */
- char username[UNLEN + 1];
+ /* strsig.cc */
+ char signamebuf[sizeof ("Unknown signal 4294967295 ")];
/* net.cc */
char *ntoa_buf; // note: malloced
- char signamebuf[sizeof ("Unknown signal 4294967295 ")];
-
unionent *hostent_buf; // note: malloced
unionent *protoent_buf; // note: malloced
unionent *servent_buf; // note: malloced
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index f27429c6b..68bd5519c 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -56,6 +56,9 @@ bool display_title;
bool strip_title_path;
bool allow_glob = true;
+/* Static getlogin buffer. */
+char __getlogin_username[UNLEN + 1];
+
bool NO_COPY in_forkee;
int __argc_safe;
diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h
index 72d4dca9e..4e459dfdb 100644
--- a/winsup/cygwin/tlsoffsets.h
+++ b/winsup/cygwin/tlsoffsets.h
@@ -1,6 +1,6 @@
//;# autogenerated: Do not edit.
-//; $tls::sizeof__cygtls = 4288;
+//; $tls::sizeof__cygtls = 3984;
//; $tls::func = -12700;
//; $tls::pfunc = 0;
//; $tls::saved_errno = -12696;
@@ -37,26 +37,26 @@
//; $tls::p__dontuse = 412;
//; $tls::locals = -11200;
//; $tls::plocals = 1500;
-//; $tls::_ctinfo = -9496;
-//; $tls::p_ctinfo = 3204;
-//; $tls::andreas = -9492;
-//; $tls::pandreas = 3208;
-//; $tls::wq = -9488;
-//; $tls::pwq = 3212;
-//; $tls::sig = -9460;
-//; $tls::psig = 3240;
-//; $tls::incyg = -9456;
-//; $tls::pincyg = 3244;
-//; $tls::spinning = -9452;
-//; $tls::pspinning = 3248;
-//; $tls::stacklock = -9448;
-//; $tls::pstacklock = 3252;
-//; $tls::stackptr = -9444;
-//; $tls::pstackptr = 3256;
-//; $tls::stack = -9440;
-//; $tls::pstack = 3260;
-//; $tls::initialized = -8416;
-//; $tls::pinitialized = 4284;
+//; $tls::_ctinfo = -9800;
+//; $tls::p_ctinfo = 2900;
+//; $tls::andreas = -9796;
+//; $tls::pandreas = 2904;
+//; $tls::wq = -9792;
+//; $tls::pwq = 2908;
+//; $tls::sig = -9764;
+//; $tls::psig = 2936;
+//; $tls::incyg = -9760;
+//; $tls::pincyg = 2940;
+//; $tls::spinning = -9756;
+//; $tls::pspinning = 2944;
+//; $tls::stacklock = -9752;
+//; $tls::pstacklock = 2948;
+//; $tls::stackptr = -9748;
+//; $tls::pstackptr = 2952;
+//; $tls::stack = -9744;
+//; $tls::pstack = 2956;
+//; $tls::initialized = -8720;
+//; $tls::pinitialized = 3980;
//; __DATA__
#define tls_func (-12700)
@@ -95,23 +95,23 @@
#define tls_p__dontuse (412)
#define tls_locals (-11200)
#define tls_plocals (1500)
-#define tls__ctinfo (-9496)
-#define tls_p_ctinfo (3204)
-#define tls_andreas (-9492)
-#define tls_pandreas (3208)
-#define tls_wq (-9488)
-#define tls_pwq (3212)
-#define tls_sig (-9460)
-#define tls_psig (3240)
-#define tls_incyg (-9456)
-#define tls_pincyg (3244)
-#define tls_spinning (-9452)
-#define tls_pspinning (3248)
-#define tls_stacklock (-9448)
-#define tls_pstacklock (3252)
-#define tls_stackptr (-9444)
-#define tls_pstackptr (3256)
-#define tls_stack (-9440)
-#define tls_pstack (3260)
-#define tls_initialized (-8416)
-#define tls_pinitialized (4284)
+#define tls__ctinfo (-9800)
+#define tls_p_ctinfo (2900)
+#define tls_andreas (-9796)
+#define tls_pandreas (2904)
+#define tls_wq (-9792)
+#define tls_pwq (2908)
+#define tls_sig (-9764)
+#define tls_psig (2936)
+#define tls_incyg (-9760)
+#define tls_pincyg (2940)
+#define tls_spinning (-9756)
+#define tls_pspinning (2944)
+#define tls_stacklock (-9752)
+#define tls_pstacklock (2948)
+#define tls_stackptr (-9748)
+#define tls_pstackptr (2952)
+#define tls_stack (-9744)
+#define tls_pstack (2956)
+#define tls_initialized (-8720)
+#define tls_pinitialized (3980)
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index dd87bd5f0..ff96fcc7f 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -201,7 +201,7 @@ getlogin_r (char *name, size_t namesize)
extern "C" char *
getlogin (void)
{
- return strcpy (_my_tls.locals.username, cygheap->user.name ());
+ return strcpy (__getlogin_username, cygheap->user.name ());
}
extern "C" __uid32_t