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:
parent
ae05cdd6a5
commit
2a328c94e1
4 changed files with 106 additions and 11 deletions
|
@ -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,
|
||||
|
|
|
@ -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 **********************************
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Add table
Reference in a new issue