* [PATCH] Fix xfs build error on ia64 (mismatch section for xfs_qm_exit())
@ 2012-03-26 16:43 Luck, Tony
2012-03-26 17:12 ` Ben Myers
0 siblings, 1 reply; 2+ messages in thread
From: Luck, Tony @ 2012-03-26 16:43 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: xfs-masters, Ben Myers, Alex Elder, xfs
ia64 deletes __exit section during the final link stage of vmlinux.
This means that code should not call __exit functions in modules
that can be built in to the kernel.
Building with CONFIG_DEBUG_SECTION_MISMATCH=y we see these build messages:
WARNING: vmlinux.o(.init.text+0x22462): Section mismatch in reference from the function init_xfs_fs() to the function .exit.text:xfs_qm_exit()
The function __init init_xfs_fs() references
a function __exit xfs_qm_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __exit annotation of
xfs_qm_exit() so it may be used outside an exit section.
...
`xfs_qm_exit' referenced in section `.init.text' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o
make: *** [.tmp_vmlinux1] Error 1
Introduced in commit a05931ceb0160deadbd7798d60d01b17f2d81b09
xfs: remove the global xfs_Gqm structure
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
index 4be16a0..1155208 100644
--- a/fs/xfs/xfs_dquot.c
+++ b/fs/xfs/xfs_dquot.c
@@ -1065,7 +1065,7 @@ out:
return -ENOMEM;
}
-void __exit
+void
xfs_qm_exit(void)
{
kmem_zone_destroy(xfs_qm_dqtrxzone);
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Fix xfs build error on ia64 (mismatch section for xfs_qm_exit())
2012-03-26 16:43 [PATCH] Fix xfs build error on ia64 (mismatch section for xfs_qm_exit()) Luck, Tony
@ 2012-03-26 17:12 ` Ben Myers
0 siblings, 0 replies; 2+ messages in thread
From: Ben Myers @ 2012-03-26 17:12 UTC (permalink / raw)
To: Luck, Tony; +Cc: Christoph Hellwig, xfs-masters, Alex Elder, xfs
On Mon, Mar 26, 2012 at 09:43:06AM -0700, Luck, Tony wrote:
> ia64 deletes __exit section during the final link stage of vmlinux.
> This means that code should not call __exit functions in modules
> that can be built in to the kernel.
>
> Building with CONFIG_DEBUG_SECTION_MISMATCH=y we see these build messages:
>
> WARNING: vmlinux.o(.init.text+0x22462): Section mismatch in reference from the function init_xfs_fs() to the function .exit.text:xfs_qm_exit()
> The function __init init_xfs_fs() references
> a function __exit xfs_qm_exit().
> This is often seen when error handling in the init function
> uses functionality in the exit path.
> The fix is often to remove the __exit annotation of
> xfs_qm_exit() so it may be used outside an exit section.
>
> ...
>
> `xfs_qm_exit' referenced in section `.init.text' of fs/built-in.o: defined in discarded section `.exit.text' of fs/built-in.o
> make: *** [.tmp_vmlinux1] Error 1
>
> Introduced in commit a05931ceb0160deadbd7798d60d01b17f2d81b09
> xfs: remove the global xfs_Gqm structure
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
Thanks Tony,
We have a patch from Gerard Snitselaar that fixes this.
Regards,
Ben
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-03-26 17:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-26 16:43 [PATCH] Fix xfs build error on ia64 (mismatch section for xfs_qm_exit()) Luck, Tony
2012-03-26 17:12 ` Ben Myers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox