2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>

* gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
	Update doc on gnattest --separates switch.

2013-01-04  Thomas Quinot  <quinot@adacore.com>

	* s-chepoo.ads: Minor reformatting.

2013-01-04  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb: Remove mention of -gnatN in usage.

From-SVN: r194889
This commit is contained in:
Arnaud Charlet 2013-01-04 10:14:29 +01:00
parent ae05cdd6a5
commit 2a328c94e1
4 changed files with 106 additions and 11 deletions

View File

@ -1,3 +1,16 @@
2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>
* gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
Update doc on gnattest --separates switch.
2013-01-04 Thomas Quinot <quinot@adacore.com>
* s-chepoo.ads: Minor reformatting.
2013-01-04 Arnaud Charlet <charlet@adacore.com>
* usage.adb: Remove mention of -gnatN in usage.
2013-01-04 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,

View File

@ -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" <gnat_install_prefix>/bin/gdb
@end smallexample
... where "gdb-cert" should be replaced by the actual certificate
name chosen above, and <gnat_install_prefix> should be replaced by
the location where you installed GNAT.
@end ifset
@c **********************************

View File

@ -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;

View File

@ -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");