linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
2005-07-13 H.J. Lu <hongjiu.lu@intel.com> * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ... (TARGET_POSIX_IO): This. * config/darwin.h: Likewise. * config/freebsd.h: Likewise. * config/linux.h: Likewise. * config/lynx.h: Likewise. * config/netbsd.h: Likewise. * config/rs6000/linux64.h: Likewise. * config/rs6000/linux.h: Likewise. * config/s390/tpf.h: Likewise. * config/sh/embed-elf.h: Likewise. * config/sparc/linux64.h: Likewise. * config/sparc/linux.h: Likewise. * config/svr4.h: Likewise. * gcov-io.h: Likewise. * doc/tm.texi: Updated. * libgcov.c (create_file_directory): Defined only if TARGET_POSIX_IO is defined. (gcov_exit): Call create_file_directory only if TARGET_POSIX_IO is defined. From-SVN: r101973
This commit is contained in:
parent
98b6d47767
commit
4969c0d82c
@ -1,3 +1,28 @@
|
||||
2005-07-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
|
||||
(TARGET_POSIX_IO): This.
|
||||
* config/darwin.h: Likewise.
|
||||
* config/freebsd.h: Likewise.
|
||||
* config/linux.h: Likewise.
|
||||
* config/lynx.h: Likewise.
|
||||
* config/netbsd.h: Likewise.
|
||||
* config/rs6000/linux64.h: Likewise.
|
||||
* config/rs6000/linux.h: Likewise.
|
||||
* config/s390/tpf.h: Likewise.
|
||||
* config/sh/embed-elf.h: Likewise.
|
||||
* config/sparc/linux64.h: Likewise.
|
||||
* config/sparc/linux.h: Likewise.
|
||||
* config/svr4.h: Likewise.
|
||||
* gcov-io.h: Likewise.
|
||||
|
||||
* doc/tm.texi: Updated.
|
||||
|
||||
* libgcov.c (create_file_directory): Defined only if
|
||||
TARGET_POSIX_IO is defined.
|
||||
(gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
|
||||
is defined.
|
||||
|
||||
2005-07-13 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
|
||||
|
@ -71,7 +71,7 @@ Boston, MA 02110-1301, USA. */
|
||||
runtime library. */
|
||||
#define TARGET_C99_FUNCTIONS 1
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
||||
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
|
||||
|
@ -1026,7 +1026,7 @@ void darwin_register_objc_includes (const char *, const char *, int);
|
||||
void add_framework_path (char *);
|
||||
#define TARGET_OPTF add_framework_path
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
/* All new versions of Darwin have C99 functions. */
|
||||
#define TARGET_C99_FUNCTIONS 1
|
||||
|
@ -84,4 +84,4 @@ Boston, MA 02110-1301, USA. */
|
||||
/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
|
||||
This enables the test coverage code to use file locking when exiting a
|
||||
program, which avoids race conditions if the program has forked. */
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
@ -103,4 +103,4 @@ Boston, MA 02110-1301, USA. */
|
||||
is present in the runtime library. */
|
||||
#define TARGET_C99_FUNCTIONS 1
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
@ -173,6 +173,6 @@ Boston, MA 02110-1301, USA. */
|
||||
# define NO_IMPLICIT_EXTERN_C
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_HAS_F_SETLKW
|
||||
# define TARGET_HAS_F_SETLKW
|
||||
#ifndef TARGET_POSIX_IO
|
||||
# define TARGET_POSIX_IO
|
||||
#endif
|
||||
|
@ -156,8 +156,8 @@ Boston, MA 02110-1301, USA. */
|
||||
fprintf ((STREAM), "void __fini() {\n\t%s();\n}\n", (FUNC)); \
|
||||
} while (0)
|
||||
|
||||
#undef TARGET_HAS_F_SETLKW
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#undef TARGET_POSIX_IO
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
/* Handle #pragma weak and #pragma pack. */
|
||||
|
||||
|
@ -110,7 +110,7 @@
|
||||
|
||||
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
#define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
|
||||
|
||||
|
@ -536,7 +536,7 @@ while (0)
|
||||
|
||||
#define TARGET_ASM_FILE_END rs6000_elf_end_indicate_exec_stack
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
||||
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
|
||||
|
@ -32,7 +32,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF "#NO_APP\n"
|
||||
#define NO_IMPLICIT_EXTERN_C
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
#undef MD_EXEC_PREFIX
|
||||
#undef MD_STARTFILE_PREFIX
|
||||
|
||||
|
@ -23,4 +23,4 @@ Boston, MA 02110-1301, USA. */
|
||||
#undef USER_LABEL_PREFIX
|
||||
#define USER_LABEL_PREFIX "_"
|
||||
|
||||
#undef TARGET_HAS_F_SETLKW
|
||||
#undef TARGET_POSIX_IO
|
||||
|
@ -208,7 +208,7 @@ do { \
|
||||
runtime library. */
|
||||
#define TARGET_C99_FUNCTIONS 1
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
||||
|
@ -342,7 +342,7 @@ do { \
|
||||
runtime library. */
|
||||
#define TARGET_C99_FUNCTIONS 1
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
||||
|
@ -203,4 +203,4 @@ Boston, MA 02110-1301, USA.
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE BITS_PER_WORD
|
||||
|
||||
#define TARGET_HAS_F_SETLKW
|
||||
#define TARGET_POSIX_IO
|
||||
|
@ -9275,12 +9275,13 @@ You need only define this macro if the default of @samp{"LIBRARY_PATH"}
|
||||
is wrong.
|
||||
@end defmac
|
||||
|
||||
@defmac TARGET_HAS_F_SETLKW
|
||||
Define this macro if the target supports file locking with fcntl / F_SETLKW@.
|
||||
Note that this functionality is part of POSIX@.
|
||||
Defining @code{TARGET_HAS_F_SETLKW} will enable the test coverage code
|
||||
@defmac TARGET_POSIX_IO
|
||||
Define this macro if the target supports the following POSIX@ file
|
||||
functions, access, mkdir and file locking with fcntl / F_SETLKW@.
|
||||
Defining @code{TARGET_POSIX_IO} will enable the test coverage code
|
||||
to use file locking when exiting a program, which avoids race conditions
|
||||
if the program has forked.
|
||||
if the program has forked. It will also create directories at run-time
|
||||
for cross-profiling. @xref{Cross-profiling}.
|
||||
@end defmac
|
||||
|
||||
@defmac MAX_CONDITIONAL_EXECUTE
|
||||
|
@ -195,7 +195,7 @@ typedef signed gcov_type __attribute__ ((mode (QI)));
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (TARGET_HAS_F_SETLKW)
|
||||
#if defined (TARGET_POSIX_IO)
|
||||
#define GCOV_LOCKED 1
|
||||
#else
|
||||
#define GCOV_LOCKED 0
|
||||
|
@ -91,6 +91,7 @@ static gcov_unsigned_t gcov_crc32;
|
||||
/* Size of the longest file name. */
|
||||
static size_t gcov_max_filename = 0;
|
||||
|
||||
#ifdef TARGET_POSIX_IO
|
||||
/* Make sure path component of the given FILENAME exists, create
|
||||
missing directories. FILENAME must be writable.
|
||||
Returns zero on success, or -1 if an error occurred. */
|
||||
@ -122,6 +123,7 @@ create_file_directory (char *filename)
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Check if VERSION of the info block PTR matches libgcov one.
|
||||
Return 1 on success, or zero in case of versions mismatch.
|
||||
@ -299,6 +301,7 @@ gcov_exit (void)
|
||||
|
||||
if (!gcov_open (gi_filename))
|
||||
{
|
||||
#ifdef TARGET_POSIX_IO
|
||||
/* Open failed likely due to missed directory.
|
||||
Create directory and retry to open file. */
|
||||
if (create_file_directory (gi_filename))
|
||||
@ -306,6 +309,7 @@ gcov_exit (void)
|
||||
fprintf (stderr, "profiling:%s:Skip\n", gi_filename);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
if (!gcov_open (gi_filename))
|
||||
{
|
||||
fprintf (stderr, "profiling:%s:Cannot open\n", gi_filename);
|
||||
|
Loading…
Reference in New Issue
Block a user