diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f765a8eab35..5e832151d8c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,16 @@ +2013-01-04 Joel Brobecker + + * gnat_ugn.texi: Document procedure to codesign GDB on Darwin. + Update doc on gnattest --separates switch. + +2013-01-04 Thomas Quinot + + * s-chepoo.ads: Minor reformatting. + +2013-01-04 Arnaud Charlet + + * usage.adb: Remove mention of -gnatN in usage. + 2013-01-04 Robert Dewar * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb, diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index d96a724df6d..b372f454650 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -214,6 +214,7 @@ AdaCore@* * Compatibility and Porting Guide:: @ifset unw * Microsoft Windows Topics:: +* Mac OS Topics:: @end ifset * GNU Free Documentation License:: * Index:: @@ -666,6 +667,10 @@ Microsoft Windows Topics * Debugging a DLL:: * Setting Stack Size from gnatlink:: * Setting Heap Size from gnatlink:: + +Mac OS Topics + +* Codesigning the Debugger:: @end ifset * Index:: @@ -919,6 +924,10 @@ to assist in porting code from those environments. @item @ref{Microsoft Windows Topics}, presents information relevant to the Microsoft Windows platform. + +@item +@ref{Mac OS Topics}, presents information relevant to Apple's OS X +platform. @end ifset @end itemize @@ -18363,10 +18372,12 @@ relative to the object directory of the project file. @item --separates @cindex @option{--separates} (@command{gnattest}) -Bodies of all test routines are generated as separates. This option is -temporarily provided for compatibility to support the old way of generating test -skeletons. Its usage is not recommended because at some point the option will be -abandoned together with this way of generating test packages. +Bodies of all test routines are generated as separates. Note that this mode is +kept for compatibility reasons only and it is not advised to use it due to +possible problems with hash in names of test skeletons when using an +inconsistent casing. Separate test skeletons can be incorporated to monolith +test package with improved hash being used by using @option{--transition} +switch. @item --transition @@ -30186,6 +30197,81 @@ because the coma is a separator for this option. @end itemize +@node Mac OS Topics +@appendix Mac OS Topics +@cindex OS X + +@noindent +This chapter describes topics that are specific to Apple's OS X +platform. + +@menu +* Codesigning the Debugger:: +@end menu + +@node Codesigning the Debugger +@section Codesigning the Debugger + +@noindent +The Darwin Kernel requires the debugger to have special permissions +before it is allowed to control other processes. These permissions +are granted by codesigning the GDB executable. Without these +permissions, the debugger will report error messages such as: + +@smallexample +Starting program: /x/y/foo +Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5). + (please check gdb is codesigned - see taskgated(8)) +@end smallexample + +Codesigning requires a certificate. The following procedure explains +how to create one: + +@itemize @bullet +@item Start the Keychain Access application (in +/Applications/Utilities/Keychain Access.app) + +@item Select the Keychain Access -> Certificate Assistant -> +Create a Certificate... menu + +@item Then: + +@itemize @bullet +@item Choose a name for the new certificate (this procedure will use +"gdb-cert" as an example) + +@item Set "Identity Type" to "Self Signed Root" + +@item Set "Certificate Type" to "Code Signing" + +@item Activate the "Let me override defaults" option + +@end itemize + +@item Click several times on "Continue" until the "Specify a Location +For The Certificate" screen appears, then set "Keychain" to "System" + +@item Click on "Continue" until the certificate is created + +@item Finally, in the view, double-click on the new certificate, +and set "When using this certificate" to "Always Trust" + +@item Exit the Keychain Access application and restart the computer +(this is unfortunately required) + +@end itemize + +Once a certificate has been created, the debugger can be codesigned +as follow. In a Terminal, run the following command... + +@smallexample +codesign -f -s "gdb-cert" /bin/gdb +@end smallexample + +... where "gdb-cert" should be replaced by the actual certificate +name chosen above, and should be replaced by +the location where you installed GNAT. + @end ifset @c ********************************** diff --git a/gcc/ada/s-chepoo.ads b/gcc/ada/s-chepoo.ads index 7f614ec67d0..a4a717f80b0 100644 --- a/gcc/ada/s-chepoo.ads +++ b/gcc/ada/s-chepoo.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -31,13 +31,14 @@ with System.Storage_Elements; with System.Storage_Pools; + package System.Checked_Pools is type Checked_Pool is abstract new System.Storage_Pools.Root_Storage_Pool with private; -- Equivalent of storage pools with the addition that Dereference is -- called on each implicit or explicit dereference of a pointer which - -- has such a storage pool + -- has such a storage pool. procedure Dereference (Pool : in out Checked_Pool; diff --git a/gcc/ada/usage.adb b/gcc/ada/usage.adb index 48fe87d363b..f96bfe5f23d 100644 --- a/gcc/ada/usage.adb +++ b/gcc/ada/usage.adb @@ -331,11 +331,6 @@ begin Write_Switch_Char ("n[?]"); Write_Line ("Enable pragma Inline (both within and across units, ?=1/2)"); - -- Line for -gnatN switch - - Write_Switch_Char ("N"); - Write_Line ("Full (frontend) inlining of subprograms"); - -- Line for -gnato switch Write_Switch_Char ("o");