mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			on_exit.c: New file.
* config/rs6000/on_exit.c: New file.
        * config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c.
        * config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports.
From-SVN: r230398
			
			
This commit is contained in:
		
							parent
							
								
									01a0467e23
								
							
						
					
					
						commit
						d9adb4761a
					
				|  | @ -1,3 +1,9 @@ | |||
| 2015-11-15  David Edelsohn  <dje.gcc@gmail.com> | ||||
| 
 | ||||
| 	* config/rs6000/on_exit.c: New file. | ||||
| 	* config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c. | ||||
| 	* config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports. | ||||
| 
 | ||||
| 2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com> | ||||
| 
 | ||||
| 	* config/arc/dp-hack.h: Add support for ARCHS. | ||||
|  |  | |||
|  | @ -10,4 +10,5 @@ GCC_4.9 { | |||
| 
 | ||||
| GCC_5 { | ||||
|   atexit | ||||
|   on_exit | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,49 @@ | |||
| /* Copyright (C) 1999-2015 Free Software Foundation, Inc.
 | ||||
| 
 | ||||
|    NOTE: This source is derived from an old version taken from the GNU C | ||||
|    Library (glibc). | ||||
| 
 | ||||
| This file is part of GCC. | ||||
| 
 | ||||
| GCC is free software; you can redistribute it and/or modify it under | ||||
| the terms of the GNU General Public License as published by the Free | ||||
| Software Foundation; either version 3, or (at your option) any later | ||||
| version. | ||||
| 
 | ||||
| GCC is distributed in the hope that it will be useful, but WITHOUT ANY | ||||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
| FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
| for more details. | ||||
| 
 | ||||
| Under Section 7 of GPL version 3, you are granted additional | ||||
| permissions described in the GCC Runtime Library Exception, version | ||||
| 3.1, as published by the Free Software Foundation. | ||||
| 
 | ||||
| You should have received a copy of the GNU General Public License and | ||||
| a copy of the GCC Runtime Library Exception along with this program; | ||||
| see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see | ||||
| <http://www.gnu.org/licenses/>.  */
 | ||||
| 
 | ||||
| #include <stdlib.h> | ||||
| #include "exit.h" | ||||
| 
 | ||||
| #define atomic_write_barrier() __asm__ ("eieio" ::: "memory") | ||||
| 
 | ||||
| /* Register a function to be called by exit.  */ | ||||
| int | ||||
| on_exit (void (*func) (int status, void *arg), void *arg) | ||||
| { | ||||
|   struct exit_function *new = __new_exitfn (&__exit_funcs); | ||||
| 
 | ||||
|   if (new == NULL) | ||||
|     return -1; | ||||
| 
 | ||||
| #ifdef PTR_MANGLE | ||||
|   PTR_MANGLE (func); | ||||
| #endif | ||||
|   new->func.on.fn = func; | ||||
|   new->func.on.arg = arg; | ||||
|   atomic_write_barrier (); | ||||
|   new->flavor = ef_on; | ||||
|   return 0; | ||||
| } | ||||
|  | @ -1,6 +1,7 @@ | |||
| LIB2ADDEH += $(srcdir)/config/rs6000/cxa_atexit.c \ | ||||
| 	$(srcdir)/config/rs6000/cxa_finalize.c \ | ||||
| 	$(srcdir)/config/rs6000/atexit.c | ||||
| 	$(srcdir)/config/rs6000/atexit.c \ | ||||
| 	$(srcdir)/config/rs6000/on_exit.c | ||||
| 
 | ||||
| LIB2ADD_ST += $(srcdir)/config/rs6000/aixinitfini.c | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 David Edelsohn
						David Edelsohn