770db697e6
2008-04-08 Eric Botcazou <ebotcazou@adacore.com> Arnaud Charlet <charlet@adacore.com> * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed. s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux. * s-osinte-lynxos-3.ads, (Alternate_Stack): Remove when not needed. Simplify declaration otherwise. (Alternate_Stack_Size): New constant. s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of 'Unrestricted_Access. * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads, s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads, s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads, s-osinte-solaris.ads, s-osinte-vms.ads (SA_ONSTACK): New constant. (stack_t): New record type. (sigaltstack): New imported function. (Alternate_Stack): New imported variable. (Alternate_Stack_Size): New constant. * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True. * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads, s-taspri-hpux-dce.ads (Task_Address): New subtype of System.Address (Task_Address_Size): New constant size of System.Address (Alternate_Stack_Size): New constant. * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete. (Enter_Task): Do not notify stack to System.Stack_Checking.Operations. Establish the alternate stack if the platform makes use of n alternate signal stack for stack overflows. (Create_Task): Take into account the alternate stack in the stack size. (Initialize): Save the address of the alternate stack into the ATCB for the environment task. (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads). * s-parame.adb (Minimum_Stack_Size): Increase value to 16K to * system-linux-x86.ads: (Stack_Check_Probes): Set to True. * s-intman-posix.adb: (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an alternate signal stack for stack overflows. * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and x86-64, adjust the saved value of the stack pointer if the signal was raised by a stack checking probe. (HP-UX section): Use global __gnat_alternate_stack as signal handler stack and only for SIGSEGV. (Linux section): Likewise on x86 and x86-64. [VxWorks section] (__gnat_map_signal): Now static. (__gnat_error_handler): Not static any more. (__gnat_adjust_context_for_raise): New function. Signal context adjustment for PPC && !VTHREADS && !RTP, as required by the zcx propagation circuitry. (__gnat_error_handler): Second argument of a sigaction handler is a pointer, not an int, and is unused. Adjust signal context before mapping to exception. Install signal handlers for LynxOS case. * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack. (Task_Id): Set size to Task_Address_Size (To_Task_id): Unchecked convert from Task_Address vice System.Address (To_Address): Unchecked convert to Task_Address vice System.Address * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its address into the ATCB if the platform makes use of an alternate signal stack for stack overflows. (Free_Task): Add call to Finalize_Attributes_Link. Add argument Relative_Deadline to pass the value specified for the task. This is not yet used for any target. * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass the value specified for the task. From-SVN: r134004 |
||
---|---|---|
boehm-gc | ||
config | ||
contrib | ||
fixincludes | ||
gcc | ||
gnattools | ||
include | ||
INSTALL | ||
intl | ||
libada | ||
libcpp | ||
libdecnumber | ||
libffi | ||
libgcc | ||
libgfortran | ||
libgomp | ||
libiberty | ||
libjava | ||
libmudflap | ||
libobjc | ||
libssp | ||
libstdc++-v3 | ||
maintainer-scripts | ||
zlib | ||
ABOUT-NLS | ||
ChangeLog | ||
ChangeLog.tree-ssa | ||
compile | ||
config-ml.in | ||
config.guess | ||
config.rpath | ||
config.sub | ||
configure | ||
configure.ac | ||
COPYING | ||
COPYING3 | ||
COPYING3.LIB | ||
COPYING.LIB | ||
depcomp | ||
install-sh | ||
libtool-ldflags | ||
libtool.m4 | ||
lt~obsolete.m4 | ||
ltgcc.m4 | ||
ltmain.sh | ||
ltoptions.m4 | ||
ltsugar.m4 | ||
ltversion.m4 | ||
MAINTAINERS | ||
Makefile.def | ||
Makefile.in | ||
Makefile.tpl | ||
missing | ||
mkdep | ||
mkinstalldirs | ||
move-if-change | ||
README | ||
README.SCO | ||
symlink-tree | ||
ylwrap |
This directory contains the GNU Compiler Collection (GCC). The GNU Compiler Collection is free software. See the file COPYING for copying permission. The manuals, and some of the runtime libraries, are under different terms; see the individual source files for details. The directory INSTALL contains copies of the installation information as HTML and plain text. The source of this information is gcc/doc/install.texi. The installation information includes details of what is included in the GCC sources and what files GCC installs. See the file gcc/doc/gcc.texi (together with other files that it includes) for usage and porting information. An online readable version of the manual is in the files gcc/doc/gcc.info*. See http://gcc.gnu.org/bugs.html for how to report bugs usefully.