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>
|
2013-01-04 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
* exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
|
* exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
|
||||||
|
|
|
@ -214,6 +214,7 @@ AdaCore@*
|
||||||
* Compatibility and Porting Guide::
|
* Compatibility and Porting Guide::
|
||||||
@ifset unw
|
@ifset unw
|
||||||
* Microsoft Windows Topics::
|
* Microsoft Windows Topics::
|
||||||
|
* Mac OS Topics::
|
||||||
@end ifset
|
@end ifset
|
||||||
* GNU Free Documentation License::
|
* GNU Free Documentation License::
|
||||||
* Index::
|
* Index::
|
||||||
|
@ -666,6 +667,10 @@ Microsoft Windows Topics
|
||||||
* Debugging a DLL::
|
* Debugging a DLL::
|
||||||
* Setting Stack Size from gnatlink::
|
* Setting Stack Size from gnatlink::
|
||||||
* Setting Heap Size from gnatlink::
|
* Setting Heap Size from gnatlink::
|
||||||
|
|
||||||
|
Mac OS Topics
|
||||||
|
|
||||||
|
* Codesigning the Debugger::
|
||||||
@end ifset
|
@end ifset
|
||||||
|
|
||||||
* Index::
|
* Index::
|
||||||
|
@ -919,6 +924,10 @@ to assist in porting code from those environments.
|
||||||
@item
|
@item
|
||||||
@ref{Microsoft Windows Topics}, presents information relevant to the
|
@ref{Microsoft Windows Topics}, presents information relevant to the
|
||||||
Microsoft Windows platform.
|
Microsoft Windows platform.
|
||||||
|
|
||||||
|
@item
|
||||||
|
@ref{Mac OS Topics}, presents information relevant to Apple's OS X
|
||||||
|
platform.
|
||||||
@end ifset
|
@end ifset
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@ -18363,10 +18372,12 @@ relative to the object directory of the project file.
|
||||||
|
|
||||||
@item --separates
|
@item --separates
|
||||||
@cindex @option{--separates} (@command{gnattest})
|
@cindex @option{--separates} (@command{gnattest})
|
||||||
Bodies of all test routines are generated as separates. This option is
|
Bodies of all test routines are generated as separates. Note that this mode is
|
||||||
temporarily provided for compatibility to support the old way of generating test
|
kept for compatibility reasons only and it is not advised to use it due to
|
||||||
skeletons. Its usage is not recommended because at some point the option will be
|
possible problems with hash in names of test skeletons when using an
|
||||||
abandoned together with this way of generating test packages.
|
inconsistent casing. Separate test skeletons can be incorporated to monolith
|
||||||
|
test package with improved hash being used by using @option{--transition}
|
||||||
|
switch.
|
||||||
|
|
||||||
|
|
||||||
@item --transition
|
@item --transition
|
||||||
|
@ -30186,6 +30197,81 @@ because the coma is a separator for this option.
|
||||||
|
|
||||||
@end itemize
|
@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
|
@end ifset
|
||||||
|
|
||||||
@c **********************************
|
@c **********************************
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- 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 --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
@ -31,13 +31,14 @@
|
||||||
|
|
||||||
with System.Storage_Elements;
|
with System.Storage_Elements;
|
||||||
with System.Storage_Pools;
|
with System.Storage_Pools;
|
||||||
|
|
||||||
package System.Checked_Pools is
|
package System.Checked_Pools is
|
||||||
|
|
||||||
type Checked_Pool is abstract
|
type Checked_Pool is abstract
|
||||||
new System.Storage_Pools.Root_Storage_Pool with private;
|
new System.Storage_Pools.Root_Storage_Pool with private;
|
||||||
-- Equivalent of storage pools with the addition that Dereference is
|
-- Equivalent of storage pools with the addition that Dereference is
|
||||||
-- called on each implicit or explicit dereference of a pointer which
|
-- called on each implicit or explicit dereference of a pointer which
|
||||||
-- has such a storage pool
|
-- has such a storage pool.
|
||||||
|
|
||||||
procedure Dereference
|
procedure Dereference
|
||||||
(Pool : in out Checked_Pool;
|
(Pool : in out Checked_Pool;
|
||||||
|
|
|
@ -331,11 +331,6 @@ begin
|
||||||
Write_Switch_Char ("n[?]");
|
Write_Switch_Char ("n[?]");
|
||||||
Write_Line ("Enable pragma Inline (both within and across units, ?=1/2)");
|
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
|
-- Line for -gnato switch
|
||||||
|
|
||||||
Write_Switch_Char ("o");
|
Write_Switch_Char ("o");
|
||||||
|
|
Loading…
Add table
Reference in a new issue