Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 264875 Details for
Bug 289580
net-wireless/wireless-tools-29 redefines "inline" in a public header
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch based on 30_pre9
wireless-tools-29-inline-fix.patch (text/plain), 3.61 KB, created by
Joe Jezak (RETIRED)
on 2011-03-05 21:55:07 UTC
(
hide
)
Description:
Patch based on 30_pre9
Filename:
MIME Type:
Creator:
Joe Jezak (RETIRED)
Created:
2011-03-05 21:55:07 UTC
Size:
3.61 KB
patch
obsolete
>--- wireless_tools.29.orig/iwlib.h 2011-03-05 16:36:55.000000000 -0500 >+++ wireless_tools.29/iwlib.h 2011-03-05 16:41:32.000000000 -0500 >@@ -60,36 +60,6 @@ > /* Private copy of Wireless extensions (in this directoty) */ > #include "wireless.h" > >-/* Make gcc understant that when we say inline, we mean it. >- * I really hate when the compiler is trying to be more clever than me, >- * because in this case gcc is not able to figure out functions with a >- * single call site, so not only I have to tag those functions inline >- * by hand, but then it refuse to inline them properly. >- * Total saving for iwevent : 150B = 0.7%. >- * Fortunately, in gcc 3.4, they now automatically inline static functions >- * with a single call site. Hurrah ! >- * Jean II */ >-#undef IW_GCC_HAS_BROKEN_INLINE >-#if __GNUC__ == 3 >-#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 >-#define IW_GCC_HAS_BROKEN_INLINE 1 >-#endif /* __GNUC_MINOR__ */ >-#endif /* __GNUC__ */ >-/* However, gcc 4.0 has introduce a new "feature", when compiling with >- * '-Os', it does not want to inline iw_ether_cmp() and friends. >- * So, we need to fix inline again ! >- * Jean II */ >-#if __GNUC__ == 4 >-#define IW_GCC_HAS_BROKEN_INLINE 1 >-#endif /* __GNUC__ */ >-/* Now, really fix the inline */ >-#ifdef IW_GCC_HAS_BROKEN_INLINE >-#ifdef inline >-#undef inline >-#endif /* inline */ >-#define inline inline __attribute__((always_inline)) >-#endif /* IW_GCC_HAS_BROKEN_INLINE */ >- > #ifdef __cplusplus > extern "C" { > #endif >@@ -491,6 +461,7 @@ > /************************* INLINE FUNTIONS *************************/ > /* > * Functions that are so simple that it's more efficient inlining them >+ * Most inline are private because gcc is fussy about inline... > */ > > /* >@@ -502,7 +473,7 @@ > /* > * Wrapper to push some Wireless Parameter in the driver > */ >-static inline int >+static inline __attribute__((always_inline)) int > iw_set_ext(int skfd, /* Socket to the kernel */ > const char * ifname, /* Device name */ > int request, /* WE ID */ >@@ -518,7 +489,7 @@ > /* > * Wrapper to extract some Wireless Parameter out of the driver > */ >-static inline int >+static inline __attribute__((always_inline)) int > iw_get_ext(int skfd, /* Socket to the kernel */ > const char * ifname, /* Device name */ > int request, /* WE ID */ >@@ -534,7 +505,7 @@ > /* > * Close the socket used for ioctl. > */ >-static inline void >+static inline __attribute__((always_inline)) void > iw_sockets_close(int skfd) > { > close(skfd); >@@ -544,7 +515,7 @@ > /* > * Display an Ethernet Socket Address in readable format. > */ >-static inline char * >+static inline __attribute__((always_inline)) char * > iw_saether_ntop(const struct sockaddr *sap, char* bufp) > { > iw_ether_ntop((const struct ether_addr *) sap->sa_data, bufp); >@@ -554,7 +525,7 @@ > /* > * Input an Ethernet Socket Address and convert to binary. > */ >-static inline int >+static inline __attribute__((always_inline)) int > iw_saether_aton(const char *bufp, struct sockaddr *sap) > { > sap->sa_family = ARPHRD_ETHER; >@@ -565,7 +536,7 @@ > /* > * Create an Ethernet broadcast address > */ >-static inline void >+static inline __attribute__((always_inline)) void > iw_broad_ether(struct sockaddr *sap) > { > sap->sa_family = ARPHRD_ETHER; >@@ -576,7 +547,7 @@ > /* > * Create an Ethernet NULL address > */ >-static inline void >+static inline __attribute__((always_inline)) void > iw_null_ether(struct sockaddr *sap) > { > sap->sa_family = ARPHRD_ETHER; >@@ -587,7 +558,7 @@ > /* > * Compare two ethernet addresses > */ >-static inline int >+static inline __attribute__((always_inline)) int > iw_ether_cmp(const struct ether_addr* eth1, const struct ether_addr* eth2) > { > return memcmp(eth1, eth2, sizeof(*eth1));
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 289580
: 264875