Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 breaks UML build with
below error -
In file included from fs/proc/kcore.c:17:
include/linux/elfcore.h: In function ?elf_core_copy_task_regs?:
include/linux/elfcore.h:129: error: implicit declaration of function
?task_pt_regs?
Fix this by restoring the previous behavior of returning 0 for all arches
like UML that don't define task_pt_regs.
Signed-off-by: Parag Warudkar <[email protected]>
diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
index 03ec167..28f722e 100644
--- a/include/linux/elfcore.h
+++ b/include/linux/elfcore.h
@@ -125,7 +125,7 @@ static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t*
#ifdef ELF_CORE_COPY_TASK_REGS
return ELF_CORE_COPY_TASK_REGS(t, elfregs);
-#else
+#elif defined task_pt_regs
elf_core_copy_regs(elfregs, task_pt_regs(t));
#endif
return 0;
On Tue, Jul 07, 2009 at 10:41:50PM -0400, Parag Warudkar wrote:
>Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 breaks UML build with
>below error -
>
>In file included from fs/proc/kcore.c:17:
>include/linux/elfcore.h: In function ‘elf_core_copy_task_regs’:
>include/linux/elfcore.h:129: error: implicit declaration of function
>‘task_pt_regs’
>
>Fix this by restoring the previous behavior of returning 0 for all arches
>like UML that don't define task_pt_regs.
Good catch!
>
>Signed-off-by: Parag Warudkar <[email protected]>
>
>diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
>index 03ec167..28f722e 100644
>--- a/include/linux/elfcore.h
>+++ b/include/linux/elfcore.h
>@@ -125,7 +125,7 @@ static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t*
> #ifdef ELF_CORE_COPY_TASK_REGS
>
> return ELF_CORE_COPY_TASK_REGS(t, elfregs);
>-#else
>+#elif defined task_pt_regs
> elf_core_copy_regs(elfregs, task_pt_regs(t));
> #endif
> return 0;
#elif defined doesn't match #ifdef well, how about:
#if defined (ELF_CORE_COPY_TASK_REGS)
...
#elif defined (task_pt_regs)
...
#endif
?
Thank you.
On Wed, 8 Jul 2009, Amerigo Wang wrote:
> On Tue, Jul 07, 2009 at 10:41:50PM -0400, Parag Warudkar wrote:
> >Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 breaks UML build with
> >below error -
> >
> >In file included from fs/proc/kcore.c:17:
> >include/linux/elfcore.h: In function ‘elf_core_copy_task_regs’:
> >include/linux/elfcore.h:129: error: implicit declaration of function
> >‘task_pt_regs’
> >
> >Fix this by restoring the previous behavior of returning 0 for all arches
> >like UML that don't define task_pt_regs.
> #elif defined doesn't match #ifdef well, how about:
>
> #if defined (ELF_CORE_COPY_TASK_REGS)
> ...
> #elif defined (task_pt_regs)
> ...
> #endif
Updated patch below -
Fix UML build breakage due to commit
a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991.
Signed-off-by: Parag Warudkar <[email protected]>
diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
index 03ec167..00d6a68 100644
--- a/include/linux/elfcore.h
+++ b/include/linux/elfcore.h
@@ -122,10 +122,9 @@ static inline void elf_core_copy_kernel_regs(elf_gregset_t *elfregs, struct pt_r
static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs)
{
-#ifdef ELF_CORE_COPY_TASK_REGS
-
+#if defined (ELF_CORE_COPY_TASK_REGS)
return ELF_CORE_COPY_TASK_REGS(t, elfregs);
-#else
+#elif defined (task_pt_regs)
elf_core_copy_regs(elfregs, task_pt_regs(t));
#endif
return 0;
On Wed, Jul 08, 2009 at 11:46:02AM -0400, Parag Warudkar wrote:
>
>
>On Wed, 8 Jul 2009, Amerigo Wang wrote:
>
>> On Tue, Jul 07, 2009 at 10:41:50PM -0400, Parag Warudkar wrote:
>> >Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 breaks UML build with
>> >below error -
>> >
>> >In file included from fs/proc/kcore.c:17:
>> >include/linux/elfcore.h: In function ‘elf_core_copy_task_regs’:
>> >include/linux/elfcore.h:129: error: implicit declaration of function
>> >‘task_pt_regs’
>> >
>> >Fix this by restoring the previous behavior of returning 0 for all arches
>> >like UML that don't define task_pt_regs.
>
>> #elif defined doesn't match #ifdef well, how about:
>>
>> #if defined (ELF_CORE_COPY_TASK_REGS)
>> ...
>> #elif defined (task_pt_regs)
>> ...
>> #endif
>
>Updated patch below -
>
>Fix UML build breakage due to commit
>a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991.
>
>Signed-off-by: Parag Warudkar <[email protected]>
>
ACK. Thank you!
It looks like Linus already merged this...
>diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h
>index 03ec167..00d6a68 100644
>--- a/include/linux/elfcore.h
>+++ b/include/linux/elfcore.h
>@@ -122,10 +122,9 @@ static inline void elf_core_copy_kernel_regs(elf_gregset_t *elfregs, struct pt_r
>
> static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs)
> {
>-#ifdef ELF_CORE_COPY_TASK_REGS
>-
>+#if defined (ELF_CORE_COPY_TASK_REGS)
> return ELF_CORE_COPY_TASK_REGS(t, elfregs);
>-#else
>+#elif defined (task_pt_regs)
> elf_core_copy_regs(elfregs, task_pt_regs(t));
> #endif
> return 0;