1 /*
2  * (c) 2008-2009 Alexander Warg <warg@os.inf.tu-dresden.de>
3  *     economic rights: Technische Universität Dresden (Germany)
4  * This file is part of TUD:OS and distributed under the terms of the
5  * GNU Lesser General Public License 2.1.
6  * Please see the COPYING-LGPL-2.1 file for details.
7  */
8 class Start_stop
9 {
10 public:
11   Start_stop() throw();
12   ~Start_stop() throw();
13 };
14 
15 static unsigned long const __attribute__((section(".eh_frame_terminator"), used)) __eh_frame_terminator = 0;
16 
17 extern "C" char __eh_frame_start__[];
18 extern "C" void __register_frame (const void *begin) throw();
19 extern "C" void __deregister_frame (const void *begin) throw();
20 
Start_stop()21 Start_stop::Start_stop() throw()
22 {
23   __register_frame(__eh_frame_start__);
24 }
25 
~Start_stop()26 Start_stop::~Start_stop() throw()
27 {
28   __deregister_frame(__eh_frame_start__);
29 }
30 
31 static Start_stop __start__stop__ __attribute__((init_priority(2005)));
32 
33