diff options
author | Steve Ellcey <sje@gcc.gnu.org> | 2007-01-24 19:40:12 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2007-01-24 19:40:12 +0000 |
commit | 812b587e9dd503c08805b69f0006beef8faa9ac2 (patch) | |
tree | 13559698c1afb4d85fe748d845c52d2e03712729 /gcc/doc | |
parent | fe32582aca9d7fa72265813406102b97119cd86d (diff) | |
download | gcc-812b587e9dd503c08805b69f0006beef8faa9ac2.zip gcc-812b587e9dd503c08805b69f0006beef8faa9ac2.tar.gz gcc-812b587e9dd503c08805b69f0006beef8faa9ac2.tar.bz2 |
target.h (globalize_decl_name): New.
* target.h (globalize_decl_name): New.
* target-def.h (TARGET_ASM_GLOBALIZE_DECL_NAME): New.
* output.h (default_globalize_decl_name): New.
* varasm.c (asm_output_bss): Use globalize_decl_name instead of
globalize_label.
(globalize_decl): Ditto.
(default_globalize_decl_name): New.
* config/ia64/ia64.c (ia64_globalize_decl_name): New.
(ia64_handle_version_id_attribute): New.
(TARGET_ASM_GLOBALIZE_DECL_NAME): New.
(ia64_asm_output_external): Use globalize_decl_name instead
of globalize_label.
* doc/extend.texi (version_id): New pragma.
* doc/tm.texi (ARGET_ASM_GLOBALIZE_DECL_NAME): New target hook.
From-SVN: r121128
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 13 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 0eec8d2..8bbb316 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2366,6 +2366,19 @@ for the function even if it appears that the function is not referenced. This is useful, for example, when the function is referenced only in inline assembly. +@item version_id +@cindex @code{version_id} attribute on IA64 HP-UX +This attribute, attached to a global variable or function, renames a +symbol to contain a version string, thus allowing for function level +versioning. HP-UX system header files may use version level functioning +for some system calls. + +@smallexample +extern int foo () __attribute__((version_id ("20040821"))); +@end smallexample + +Calls to @var{foo} will be mapped to calls to @var{foo@{20040821@}}. + @item visibility ("@var{visibility_type}") @cindex @code{visibility} attribute This attribute affects the linkage of the declaration to which it is attached. diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 3390575..b2292c3 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -7198,6 +7198,14 @@ The default implementation relies on a proper definition of @code{GLOBAL_ASM_OP}. @end deftypefn +@deftypefn {Target Hook} void TARGET_ASM_GLOBALIZE_DECL_NAME (FILE *@var{stream}, tree @var{decl}) +This target hook is a function to output to the stdio stream +@var{stream} some commands that will make the name associated with @var{decl} +global; that is, available for reference from other files. + +The default implementation uses the TARGET_ASM_GLOBALIZE_LABEL target hook. +@end deftypefn + @defmac ASM_WEAKEN_LABEL (@var{stream}, @var{name}) A C statement (sans semicolon) to output to the stdio stream @var{stream} some commands that will make the label @var{name} weak; |