diff options
author | Thomas Pfaff <tpfaff@gmx.net> | 2003-04-17 20:05:15 +0000 |
---|---|---|
committer | Thomas Pfaff <tpfaff@gmx.net> | 2003-04-17 20:05:15 +0000 |
commit | f3c1c540516337d9742e06db9ea831018a4a0576 (patch) | |
tree | 96584ddbf91f00283cf98333d48c839a712ffa74 /winsup/cygwin | |
parent | a4cea44072f03808fae271d1a4075225ae166d86 (diff) | |
download | cygnal-f3c1c540516337d9742e06db9ea831018a4a0576.tar.gz cygnal-f3c1c540516337d9742e06db9ea831018a4a0576.tar.bz2 cygnal-f3c1c540516337d9742e06db9ea831018a4a0576.zip |
* Makefile.in: Add finline-functions optimization to CXXFLAGS.
* autoload.cc (LoadDLLprime): Rename std_dll_init to
_std_dll_init.
(std_dll_init): Remove name mangling prototype. Add attributes
used and noinline.
(wsock_init): Ditto.
Change wsock_init to _wsock_init in wsock32 and ws2_32
LoadDLLprime.
* exceptions.cc (unused_sig_wrapper): Remove prototype. Add
attributes used and noinline.
* pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code.
(pwdgrp (__group32 *&)): Ditto.
* grp.cc (pwdgrp (passwd *&)): Outline constructor.
(pwdgrp (__group32 *&)): Ditto.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 17 | ||||
-rw-r--r-- | winsup/cygwin/Makefile.in | 3 | ||||
-rw-r--r-- | winsup/cygwin/autoload.cc | 12 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 4 | ||||
-rw-r--r-- | winsup/cygwin/grp.cc | 16 | ||||
-rw-r--r-- | winsup/cygwin/pwdgrp.h | 16 |
6 files changed, 44 insertions, 24 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index f13513b5c..0cfc97628 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,22 @@ 2003-04-17 Thomas Pfaff <tpfaff@gmx.net> + * Makefile.in: Add finline-functions optimization to CXXFLAGS. + * autoload.cc (LoadDLLprime): Rename std_dll_init to + _std_dll_init. + (std_dll_init): Remove name mangling prototype. Add attributes + used and noinline. + (wsock_init): Ditto. + Change wsock_init to _wsock_init in wsock32 and ws2_32 + LoadDLLprime. + * exceptions.cc (unused_sig_wrapper): Remove prototype. Add + attributes used and noinline. + * pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code. + (pwdgrp (__group32 *&)): Ditto. + * grp.cc (pwdgrp (passwd *&)): Outline constructor. + (pwdgrp (__group32 *&)): Ditto. + +2003-04-17 Thomas Pfaff <tpfaff@gmx.net> + * thread.h (pthread::equal): New static method. * thread.cc: Rename pthread_equal to pthread::equal throughout. (pthread_equal): Use pthread::equal to compare threads ids. diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index 2695a73d7..2a29e454a 100644 --- a/winsup/cygwin/Makefile.in +++ b/winsup/cygwin/Makefile.in @@ -80,6 +80,9 @@ CFLAGS=@CFLAGS@ override CFLAGS+=-MMD ${$(*F)_CFLAGS} CXX=@CXX@ CXXFLAGS=@CXXFLAGS@ +ifeq ($(CYGINLINE),1) +override CXXFLAGS+=-finline-functions +endif AR:=@AR@ AR_FLAGS:=qv diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index 1ea024d63..aafa40418 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -58,7 +58,7 @@ details. */ #define LoadDLLprime(dllname, init_also) __asm__ (" \n\ .section ." #dllname "_info,\"w\" \n\ .linkonce \n\ - .long std_dll_init \n\ + .long _std_dll_init \n\ .long 0 \n\ .long -1 \n\ .long " #init_also " \n\ @@ -201,8 +201,7 @@ union retchain }; /* The standard DLL initialization routine. */ -static long long std_dll_init () __asm__ ("std_dll_init") __attribute__ ((unused)); -static long long +__attribute__ ((used, noinline)) static long long std_dll_init () { HANDLE h; @@ -241,9 +240,8 @@ std_dll_init () } /* Initialization function for winsock stuff. */ -static long long wsock_init () __asm__ ("wsock_init") __attribute__ ((unused, regparm(1))); bool NO_COPY wsock_started = 0; -static long long +__attribute__ ((used, noinline, regparm(1))) static long long wsock_init () { static LONG NO_COPY here = -1L; @@ -304,8 +302,8 @@ wsock_init () return ret.ll; } -LoadDLLprime (wsock32, wsock_init) -LoadDLLprime (ws2_32, wsock_init) +LoadDLLprime (wsock32, _wsock_init) +LoadDLLprime (ws2_32, _wsock_init) LoadDLLfunc (AccessCheck, 32, advapi32) LoadDLLfunc (AddAccessAllowedAce, 16, advapi32) diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 742aa68b0..ec4b7f4c9 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1203,12 +1203,10 @@ reset_signal_arrived () sigproc_printf ("reset signal_arrived"); } -static void unused_sig_wrapper () __attribute__((const, unused)); - #undef errno #define errno ((DWORD volatile) _impure_ptr) + (((char *) &_impure_ptr->_errno) - ((char *) _impure_ptr)) -static void +__attribute__((const, used, noinline)) static void unused_sig_wrapper () { /* Signal cleanup stuff. Cleans up stack (too bad that we didn't diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc index a0d73ae26..73a2b89a5 100644 --- a/winsup/cygwin/grp.cc +++ b/winsup/cygwin/grp.cc @@ -108,6 +108,22 @@ pwdgrp::read_group () return; } +pwdgrp::pwdgrp (passwd *&pbuf) : + pwdgrp_buf_elem_size (sizeof (*pbuf)), passwd_buf (&pbuf) +{ + read = &pwdgrp::read_passwd; + parse = &pwdgrp::parse_passwd; + new_muto (pglock); +} + +pwdgrp::pwdgrp (__group32 *&gbuf) : + pwdgrp_buf_elem_size (sizeof (*gbuf)), group_buf (&gbuf) +{ + read = &pwdgrp::read_group; + parse = &pwdgrp::parse_group; + new_muto (pglock); +} + struct __group32 * internal_getgrsid (cygpsid &sid) { diff --git a/winsup/cygwin/pwdgrp.h b/winsup/cygwin/pwdgrp.h index 2b1e350a1..b9093d8fc 100644 --- a/winsup/cygwin/pwdgrp.h +++ b/winsup/cygwin/pwdgrp.h @@ -77,18 +77,6 @@ public: pglock->release (); } - inline pwdgrp (passwd *&pbuf) : - pwdgrp_buf_elem_size (sizeof (*pbuf)), passwd_buf (&pbuf) - { - read = &pwdgrp::read_passwd; - parse = &pwdgrp::parse_passwd; - new_muto (pglock); - } - inline pwdgrp (__group32 *&gbuf) : - pwdgrp_buf_elem_size (sizeof (*gbuf)), group_buf (&gbuf) - { - read = &pwdgrp::read_group; - parse = &pwdgrp::parse_group; - new_muto (pglock); - } + pwdgrp (passwd *&pbuf); + pwdgrp (__group32 *&gbuf); }; |