diff options
author | Herve Codina <Herve.CODINA@celad.com> | 2015-07-06 09:36:43 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-07-13 08:28:19 +0200 |
commit | a2136e6cbd732e627f9f33d9211ba0a67be52889 (patch) | |
tree | c1aff563dc89e01ed4a801ec7045b19e00041de5 /arch/x86/lib | |
parent | d46b6785c4bcd3ceb7d90895e9f44a7bf7d6757d (diff) | |
download | barebox-a2136e6cbd732e627f9f33d9211ba0a67be52889.tar.gz barebox-a2136e6cbd732e627f9f33d9211ba0a67be52889.tar.xz |
exitcall: Add exitcall infrastructure
exitcall infrastructure is based on initcall infrastructure.
It allows to have and use exit call hooks on barebox shutdown.
Signed-off-by: Herve Codina <Herve.CODINA@celad.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r-- | arch/x86/lib/barebox.lds.S | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/lib/barebox.lds.S b/arch/x86/lib/barebox.lds.S index 6cf6b10d1b..23d7546532 100644 --- a/arch/x86/lib/barebox.lds.S +++ b/arch/x86/lib/barebox.lds.S @@ -185,7 +185,14 @@ SECTIONS . = ALIGN(4); } > barebox - .__usymtab : AT ( LOADADDR(.barebox_initcalls) + SIZEOF (.barebox_initcalls) ) { + .barebox_exitcalls : AT ( LOADADDR(.barebox_initcalls) + SIZEOF (.barebox_initcalls) ) { + __barebox_exitcalls_start = .; + EXITCALLS + __barebox_exitcalls_end = .; + . = ALIGN(4); + } > barebox + + .__usymtab : AT ( LOADADDR(.barebox_exitcalls) + SIZEOF (.barebox_exitcalls) ) { __usymtab_start = .; BAREBOX_SYMS __usymtab_end = .; |