All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm: oprofile: fix linkage issue
@ 2011-12-22 13:36 Vladimir Zapolskiy
  2011-12-22 14:21 ` Robert Richter
  2011-12-26 11:08 ` Sergei Shtylyov
  0 siblings, 2 replies; 6+ messages in thread
From: Vladimir Zapolskiy @ 2011-12-22 13:36 UTC (permalink / raw)
  To: linux-arm-kernel

This change fixes a linking problem, which happens if oprofile is selected to
be compiled as built-in:

  `oprofile_arch_exit' referenced in section `.init.text' of
  arch/arm/oprofile/built-in.o: defined in discarded section
  `.exit.text' of arch/arm/oprofile/built-in.o

The problem is appeared after commit 87121ca504, which introduced
oprofile_arch_exit() calls from __init function. Note that the aforementioned
commit has been backported to stable branches, and the problem is known to be
reproduced at least with 3.0.13 and 3.1.5 kernels.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@nokia.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Robert Richter <robert.richter@amd.com>
Cc: stable at kernel.org
---
 arch/arm/oprofile/common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index c074e66..4e0a371 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -116,7 +116,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 	return oprofile_perf_init(ops);
 }
 
-void __exit oprofile_arch_exit(void)
+void oprofile_arch_exit(void)
 {
 	oprofile_perf_exit();
 }
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] arm: oprofile: fix linkage issue
  2011-12-22 13:36 [PATCH] arm: oprofile: fix linkage issue Vladimir Zapolskiy
@ 2011-12-22 14:21 ` Robert Richter
  2011-12-22 14:52   ` Vladimir Zapolskiy
  2011-12-22 14:54   ` Robert Richter
  2011-12-26 11:08 ` Sergei Shtylyov
  1 sibling, 2 replies; 6+ messages in thread
From: Robert Richter @ 2011-12-22 14:21 UTC (permalink / raw)
  To: linux-arm-kernel

On 22.12.11 15:36:56, Vladimir Zapolskiy wrote:
> This change fixes a linking problem, which happens if oprofile is selected to
> be compiled as built-in:
> 
>   `oprofile_arch_exit' referenced in section `.init.text' of
>   arch/arm/oprofile/built-in.o: defined in discarded section
>   `.exit.text' of arch/arm/oprofile/built-in.o
> 
> The problem is appeared after commit 87121ca504, which introduced
> oprofile_arch_exit() calls from __init function. Note that the aforementioned
> commit has been backported to stable branches, and the problem is known to be
> reproduced at least with 3.0.13 and 3.1.5 kernels.

I will fix it upstream, afterwards this goes into stable due to the
stable tag.

Right, commit 87121ca504 went into stable kernels 3.0 and 3.1, need to
fix them too:

CC: stable at kernel.org # 3.0+

Please fix also arch/sh with this patch:

 $ git grep exit.*oprofile_arch_exit arch/*/oprofile drivers/oprofile/ 
 arch/arm/oprofile/common.c:void __exit oprofile_arch_exit(void)
 arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void)
 arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void) {}

Thanks,

-Robert

> 
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@nokia.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Robert Richter <robert.richter@amd.com>
> Cc: stable at kernel.org
> ---
>  arch/arm/oprofile/common.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
> index c074e66..4e0a371 100644
> --- a/arch/arm/oprofile/common.c
> +++ b/arch/arm/oprofile/common.c
> @@ -116,7 +116,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
>  	return oprofile_perf_init(ops);
>  }
>  
> -void __exit oprofile_arch_exit(void)
> +void oprofile_arch_exit(void)
>  {
>  	oprofile_perf_exit();
>  }
> -- 
> 1.7.2.3
> 
> 

-- 
Advanced Micro Devices, Inc.
Operating System Research Center

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] arm: oprofile: fix linkage issue
  2011-12-22 14:21 ` Robert Richter
@ 2011-12-22 14:52   ` Vladimir Zapolskiy
  2011-12-22 14:54   ` Robert Richter
  1 sibling, 0 replies; 6+ messages in thread
From: Vladimir Zapolskiy @ 2011-12-22 14:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/22/2011 04:21 PM, ext Robert Richter wrote:
> On 22.12.11 15:36:56, Vladimir Zapolskiy wrote:
>> This change fixes a linking problem, which happens if oprofile is selected to
>> be compiled as built-in:
>>
>>    `oprofile_arch_exit' referenced in section `.init.text' of
>>    arch/arm/oprofile/built-in.o: defined in discarded section
>>    `.exit.text' of arch/arm/oprofile/built-in.o
>>
>> The problem is appeared after commit 87121ca504, which introduced
>> oprofile_arch_exit() calls from __init function. Note that the aforementioned
>> commit has been backported to stable branches, and the problem is known to be
>> reproduced at least with 3.0.13 and 3.1.5 kernels.
>
> I will fix it upstream, afterwards this goes into stable due to the
> stable tag.
>
What's the expected difference with this change?

> Right, commit 87121ca504 went into stable kernels 3.0 and 3.1, need to
> fix them too:
>
> CC: stable at kernel.org # 3.0+
>
> Please fix also arch/sh with this patch:
>
>   $ git grep exit.*oprofile_arch_exit arch/*/oprofile drivers/oprofile/
>   arch/arm/oprofile/common.c:void __exit oprofile_arch_exit(void)
>   arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void)
>   arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void) {}

I checked the linkage of arch/sh/oprofile/built-in.o on 3.0.13 under the 
same conditions, and there the original issue is not reproduced, 
probably because of not tightly optimized vmlinux ld script, so for sh 
architecture the problem is not so hot as it is for arm.

With best wishes,
Vladimir

> Thanks,
>
> -Robert
>
>>
>> Signed-off-by: Vladimir Zapolskiy<vladimir.zapolskiy@nokia.com>
>> Cc: Will Deacon<will.deacon@arm.com>
>> Cc: Robert Richter<robert.richter@amd.com>
>> Cc: stable at kernel.org
>> ---
>>   arch/arm/oprofile/common.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
>> index c074e66..4e0a371 100644
>> --- a/arch/arm/oprofile/common.c
>> +++ b/arch/arm/oprofile/common.c
>> @@ -116,7 +116,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
>>   	return oprofile_perf_init(ops);
>>   }
>>
>> -void __exit oprofile_arch_exit(void)
>> +void oprofile_arch_exit(void)
>>   {
>>   	oprofile_perf_exit();
>>   }
>> --
>> 1.7.2.3
>>
>>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] arm: oprofile: fix linkage issue
  2011-12-22 14:21 ` Robert Richter
  2011-12-22 14:52   ` Vladimir Zapolskiy
@ 2011-12-22 14:54   ` Robert Richter
  2011-12-22 15:05     ` Vladimir Zapolskiy
  1 sibling, 1 reply; 6+ messages in thread
From: Robert Richter @ 2011-12-22 14:54 UTC (permalink / raw)
  To: linux-arm-kernel

On 22.12.11 15:21:40, Robert Richter wrote:
> On 22.12.11 15:36:56, Vladimir Zapolskiy wrote:
> > This change fixes a linking problem, which happens if oprofile is selected to
> > be compiled as built-in:
> > 
> >   `oprofile_arch_exit' referenced in section `.init.text' of
> >   arch/arm/oprofile/built-in.o: defined in discarded section
> >   `.exit.text' of arch/arm/oprofile/built-in.o
> > 
> > The problem is appeared after commit 87121ca504, which introduced
> > oprofile_arch_exit() calls from __init function. Note that the aforementioned
> > commit has been backported to stable branches, and the problem is known to be
> > reproduced at least with 3.0.13 and 3.1.5 kernels.
> 
> I will fix it upstream, afterwards this goes into stable due to the
> stable tag.
> 
> Right, commit 87121ca504 went into stable kernels 3.0 and 3.1, need to
> fix them too:
> 
> CC: stable at kernel.org # 3.0+
> 
> Please fix also arch/sh with this patch:
> 
>  $ git grep exit.*oprofile_arch_exit arch/*/oprofile drivers/oprofile/ 
>  arch/arm/oprofile/common.c:void __exit oprofile_arch_exit(void)
>  arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void)
>  arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void) {}
> 
> Thanks,

To make things easier: if you aggree I will apply your patch with the
changes below in addition. No need to respin a new patch version.

Thanks,

-Robert



diff --git a/arch/sh/oprofile/common.c b/arch/sh/oprofile/common.c
index b4c2d2b..e4dd5d5 100644
--- a/arch/sh/oprofile/common.c
+++ b/arch/sh/oprofile/common.c
@@ -49,7 +49,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
        return oprofile_perf_init(ops);
 }
 
-void __exit oprofile_arch_exit(void)
+void oprofile_arch_exit(void)
 {
        oprofile_perf_exit();
        kfree(sh_pmu_op_name);
@@ -60,5 +60,5 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
        ops->backtrace = sh_backtrace;
        return -ENODEV;
 }
-void __exit oprofile_arch_exit(void) {}
+void oprofile_arch_exit(void) {}
 #endif /* CONFIG_HW_PERF_EVENTS */


-- 
Advanced Micro Devices, Inc.
Operating System Research Center

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] arm: oprofile: fix linkage issue
  2011-12-22 14:54   ` Robert Richter
@ 2011-12-22 15:05     ` Vladimir Zapolskiy
  0 siblings, 0 replies; 6+ messages in thread
From: Vladimir Zapolskiy @ 2011-12-22 15:05 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/22/2011 04:54 PM, ext Robert Richter wrote:
> On 22.12.11 15:21:40, Robert Richter wrote:
>> On 22.12.11 15:36:56, Vladimir Zapolskiy wrote:
>>> This change fixes a linking problem, which happens if oprofile is selected to
>>> be compiled as built-in:
>>>
>>>    `oprofile_arch_exit' referenced in section `.init.text' of
>>>    arch/arm/oprofile/built-in.o: defined in discarded section
>>>    `.exit.text' of arch/arm/oprofile/built-in.o
>>>
>>> The problem is appeared after commit 87121ca504, which introduced
>>> oprofile_arch_exit() calls from __init function. Note that the aforementioned
>>> commit has been backported to stable branches, and the problem is known to be
>>> reproduced at least with 3.0.13 and 3.1.5 kernels.
>>
>> I will fix it upstream, afterwards this goes into stable due to the
>> stable tag.
>>
>> Right, commit 87121ca504 went into stable kernels 3.0 and 3.1, need to
>> fix them too:
>>
>> CC: stable at kernel.org # 3.0+
>>
>> Please fix also arch/sh with this patch:
>>
>>   $ git grep exit.*oprofile_arch_exit arch/*/oprofile drivers/oprofile/
>>   arch/arm/oprofile/common.c:void __exit oprofile_arch_exit(void)
>>   arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void)
>>   arch/sh/oprofile/common.c:void __exit oprofile_arch_exit(void) {}
>>
>> Thanks,
>
> To make things easier: if you aggree I will apply your patch with the
> changes below in addition. No need to respin a new patch version.
>

Certainly, thanks.

With best wishes,
Vladimir

>
>
> diff --git a/arch/sh/oprofile/common.c b/arch/sh/oprofile/common.c
> index b4c2d2b..e4dd5d5 100644
> --- a/arch/sh/oprofile/common.c
> +++ b/arch/sh/oprofile/common.c
> @@ -49,7 +49,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
>          return oprofile_perf_init(ops);
>   }
>
> -void __exit oprofile_arch_exit(void)
> +void oprofile_arch_exit(void)
>   {
>          oprofile_perf_exit();
>          kfree(sh_pmu_op_name);
> @@ -60,5 +60,5 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
>          ops->backtrace = sh_backtrace;
>          return -ENODEV;
>   }
> -void __exit oprofile_arch_exit(void) {}
> +void oprofile_arch_exit(void) {}
>   #endif /* CONFIG_HW_PERF_EVENTS */
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] arm: oprofile: fix linkage issue
  2011-12-22 13:36 [PATCH] arm: oprofile: fix linkage issue Vladimir Zapolskiy
  2011-12-22 14:21 ` Robert Richter
@ 2011-12-26 11:08 ` Sergei Shtylyov
  1 sibling, 0 replies; 6+ messages in thread
From: Sergei Shtylyov @ 2011-12-26 11:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 22-12-2011 17:36, Vladimir Zapolskiy wrote:

> This change fixes a linking problem, which happens if oprofile is selected to
> be compiled as built-in:

>    `oprofile_arch_exit' referenced in section `.init.text' of
>    arch/arm/oprofile/built-in.o: defined in discarded section
>    `.exit.text' of arch/arm/oprofile/built-in.o

> The problem is

    s/is/has/

> appeared after commit 87121ca504, which introduced

    Please also specify that commit's summary in parens.

> oprofile_arch_exit() calls from __init function. Note that the aforementioned
> commit has been backported to stable branches, and the problem is known to be
> reproduced at least with 3.0.13 and 3.1.5 kernels.

> Signed-off-by: Vladimir Zapolskiy<vladimir.zapolskiy@nokia.com>
> Cc: Will Deacon<will.deacon@arm.com>
> Cc: Robert Richter<robert.richter@amd.com>
> Cc: stable at kernel.org

WBR, Sergei

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-12-26 11:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-22 13:36 [PATCH] arm: oprofile: fix linkage issue Vladimir Zapolskiy
2011-12-22 14:21 ` Robert Richter
2011-12-22 14:52   ` Vladimir Zapolskiy
2011-12-22 14:54   ` Robert Richter
2011-12-22 15:05     ` Vladimir Zapolskiy
2011-12-26 11:08 ` Sergei Shtylyov

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.