* [uml-devel] [PATCH 1/6] UML - Fix inlines
@ 2007-08-17 19:43 ` Jeff Dike
0 siblings, 0 replies; 6+ messages in thread
From: Jeff Dike @ 2007-08-17 19:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: Adrian Bunk, LKML, uml-devel
"extern inline" will have different semantics with gcc 4.3.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
--
include/asm-um/pgalloc.h | 2 +-
include/asm-um/pgtable-3level.h | 2 +-
include/asm-um/processor-x86_64.h | 2 +-
include/asm-um/smp.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
Index: linux-2.6.22/include/asm-um/pgalloc.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/pgalloc.h 2007-08-13 22:38:59.000000000 -0400
+++ linux-2.6.22/include/asm-um/pgalloc.h 2007-08-16 12:04:12.000000000 -0400
@@ -42,7 +42,7 @@ static inline void pte_free(struct page
#ifdef CONFIG_3_LEVEL_PGTABLES
-extern __inline__ void pmd_free(pmd_t *pmd)
+static inline void pmd_free(pmd_t *pmd)
{
free_page((unsigned long)pmd);
}
Index: linux-2.6.22/include/asm-um/pgtable-3level.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/pgtable-3level.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/pgtable-3level.h 2007-08-15 10:39:59.000000000 -0400
@@ -69,7 +69,7 @@ static inline pmd_t *pmd_alloc_one(struc
return pmd;
}
-extern inline void pud_clear (pud_t *pud)
+static inline void pud_clear (pud_t *pud)
{
set_pud(pud, __pud(0));
}
Index: linux-2.6.22/include/asm-um/processor-x86_64.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/processor-x86_64.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/processor-x86_64.h 2007-08-15 10:39:59.000000000 -0400
@@ -18,7 +18,7 @@ struct arch_thread {
};
/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
-extern inline void rep_nop(void)
+static inline void rep_nop(void)
{
__asm__ __volatile__("rep;nop": : :"memory");
}
Index: linux-2.6.22/include/asm-um/smp.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/smp.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/smp.h 2007-08-15 10:39:59.000000000 -0400
@@ -18,7 +18,7 @@ extern int hard_smp_processor_id(void);
extern int ncpus;
-extern inline void smp_cpus_done(unsigned int maxcpus)
+static inline void smp_cpus_done(unsigned int maxcpus)
{
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/6] UML - Fix inlines
@ 2007-08-17 19:43 ` Jeff Dike
0 siblings, 0 replies; 6+ messages in thread
From: Jeff Dike @ 2007-08-17 19:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, uml-devel, Adrian Bunk
"extern inline" will have different semantics with gcc 4.3.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
--
include/asm-um/pgalloc.h | 2 +-
include/asm-um/pgtable-3level.h | 2 +-
include/asm-um/processor-x86_64.h | 2 +-
include/asm-um/smp.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
Index: linux-2.6.22/include/asm-um/pgalloc.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/pgalloc.h 2007-08-13 22:38:59.000000000 -0400
+++ linux-2.6.22/include/asm-um/pgalloc.h 2007-08-16 12:04:12.000000000 -0400
@@ -42,7 +42,7 @@ static inline void pte_free(struct page
#ifdef CONFIG_3_LEVEL_PGTABLES
-extern __inline__ void pmd_free(pmd_t *pmd)
+static inline void pmd_free(pmd_t *pmd)
{
free_page((unsigned long)pmd);
}
Index: linux-2.6.22/include/asm-um/pgtable-3level.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/pgtable-3level.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/pgtable-3level.h 2007-08-15 10:39:59.000000000 -0400
@@ -69,7 +69,7 @@ static inline pmd_t *pmd_alloc_one(struc
return pmd;
}
-extern inline void pud_clear (pud_t *pud)
+static inline void pud_clear (pud_t *pud)
{
set_pud(pud, __pud(0));
}
Index: linux-2.6.22/include/asm-um/processor-x86_64.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/processor-x86_64.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/processor-x86_64.h 2007-08-15 10:39:59.000000000 -0400
@@ -18,7 +18,7 @@ struct arch_thread {
};
/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
-extern inline void rep_nop(void)
+static inline void rep_nop(void)
{
__asm__ __volatile__("rep;nop": : :"memory");
}
Index: linux-2.6.22/include/asm-um/smp.h
===================================================================
--- linux-2.6.22.orig/include/asm-um/smp.h 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22/include/asm-um/smp.h 2007-08-15 10:39:59.000000000 -0400
@@ -18,7 +18,7 @@ extern int hard_smp_processor_id(void);
extern int ncpus;
-extern inline void smp_cpus_done(unsigned int maxcpus)
+static inline void smp_cpus_done(unsigned int maxcpus)
{
}
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [uml-devel] [PATCH 1/6] UML - Fix inlines
2007-08-17 19:43 ` Jeff Dike
@ 2007-08-20 19:40 ` Andrew Morton
-1 siblings, 0 replies; 6+ messages in thread
From: Andrew Morton @ 2007-08-20 19:40 UTC (permalink / raw)
To: Jeff Dike; +Cc: Adrian Bunk, LKML, uml-devel
On Fri, 17 Aug 2007 15:43:40 -0400
Jeff Dike <jdike@addtoit.com> wrote:
> "extern inline" will have different semantics with gcc 4.3.
What are these different semantics?
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/6] UML - Fix inlines
@ 2007-08-20 19:40 ` Andrew Morton
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Morton @ 2007-08-20 19:40 UTC (permalink / raw)
To: Jeff Dike; +Cc: LKML, uml-devel, Adrian Bunk
On Fri, 17 Aug 2007 15:43:40 -0400
Jeff Dike <jdike@addtoit.com> wrote:
> "extern inline" will have different semantics with gcc 4.3.
What are these different semantics?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [uml-devel] [PATCH 1/6] UML - Fix inlines
2007-08-20 19:40 ` Andrew Morton
@ 2007-08-20 19:55 ` Adrian Bunk
-1 siblings, 0 replies; 6+ messages in thread
From: Adrian Bunk @ 2007-08-20 19:55 UTC (permalink / raw)
To: Andrew Morton; +Cc: Jeff Dike, Adrian Bunk, LKML, uml-devel
On Mon, Aug 20, 2007 at 12:40:30PM -0700, Andrew Morton wrote:
> On Fri, 17 Aug 2007 15:43:40 -0400
> Jeff Dike <jdike@addtoit.com> wrote:
>
> > "extern inline" will have different semantics with gcc 4.3.
>
> What are these different semantics?
With gcc <= 4.2, when using "extern inline" in no case the function is
compiled on its own, not even if you refer to its address explicitly.
Such an address becomes an external reference, as if you had only
declared the function, and had not defined it.
In C99 (and therefore in gcc >= 4.3), "extern inline" means that the
function should be compiled inline where the inline definition is seen,
and that the compiler should also emit a copy of the function body with
an externally visible symbol.
Except for the Alpha port all users in the kernel used "extern inline"
only for getting "static inline" semantics (older gcc versions didn't
offer the always_inline function attribute).
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/6] UML - Fix inlines
@ 2007-08-20 19:55 ` Adrian Bunk
0 siblings, 0 replies; 6+ messages in thread
From: Adrian Bunk @ 2007-08-20 19:55 UTC (permalink / raw)
To: Andrew Morton; +Cc: Jeff Dike, LKML, uml-devel, Adrian Bunk
On Mon, Aug 20, 2007 at 12:40:30PM -0700, Andrew Morton wrote:
> On Fri, 17 Aug 2007 15:43:40 -0400
> Jeff Dike <jdike@addtoit.com> wrote:
>
> > "extern inline" will have different semantics with gcc 4.3.
>
> What are these different semantics?
With gcc <= 4.2, when using "extern inline" in no case the function is
compiled on its own, not even if you refer to its address explicitly.
Such an address becomes an external reference, as if you had only
declared the function, and had not defined it.
In C99 (and therefore in gcc >= 4.3), "extern inline" means that the
function should be compiled inline where the inline definition is seen,
and that the compiler should also emit a copy of the function body with
an externally visible symbol.
Except for the Alpha port all users in the kernel used "extern inline"
only for getting "static inline" semantics (older gcc versions didn't
offer the always_inline function attribute).
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-08-20 19:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-17 19:43 [uml-devel] [PATCH 1/6] UML - Fix inlines Jeff Dike
2007-08-17 19:43 ` Jeff Dike
2007-08-20 19:40 ` [uml-devel] " Andrew Morton
2007-08-20 19:40 ` Andrew Morton
2007-08-20 19:55 ` [uml-devel] " Adrian Bunk
2007-08-20 19:55 ` Adrian Bunk
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.