Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
2aadeae2
Commit
2aadeae2
authored
Apr 15, 2011
by
Janne Blomqvist
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PR 47571 Fix bootstrap regression on alpha-dec-osf
From-SVN: r172469
parent
f54d331e
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
40 additions
and
21 deletions
+40
-21
libgfortran/ChangeLog
+10
-0
libgfortran/acinclude.m4
+1
-1
libgfortran/config.h.in
+3
-0
libgfortran/configure
+7
-6
libgfortran/configure.ac
+7
-6
libgfortran/intrinsics/system_clock.c
+12
-8
No files found.
libgfortran/ChangeLog
View file @
2aadeae2
2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/47571
* configure: Regenerated.
* config.h.in: Regenerated.
* acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
* configure.ac: Use separate symbol for clock_gettime in librt.
* intrinsics/system_clock.c: Use weakrefs only when needed and
supported.
2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
...
...
libgfortran/acinclude.m4
View file @
2aadeae2
...
...
@@ -110,7 +110,7 @@ void foo (void);
[Define to 1 if the target supports #pragma weak])
fi
case "$host" in
*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* )
*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw*
| alpha*-dec-osf*
)
AC_DEFINE(GTHREAD_USE_WEAK, 0,
[Define to 0 if the target shouldn't use #pragma weak])
;;
...
...
libgfortran/config.h.in
View file @
2aadeae2
...
...
@@ -210,6 +210,9 @@
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
/* Define to 1 if you have the `clock_gettime' function in librt. */
#undef HAVE_CLOCK_GETTIME_LIBRT
/* libm includes clog */
#undef HAVE_CLOG
...
...
libgfortran/configure
View file @
2aadeae2
...
...
@@ -25375,10 +25375,11 @@ $as_echo "#define HAVE_FEENABLEEXCEPT 1" >>confdefs.h
fi
# At least for glibc, clock_gettime is in librt. But don't pull that
# in if it still doesn't give us the function we want.
# This test is copied from libgomp, and modified to not link in -lrt
# as libgfortran calls clock_gettime via a weak reference.
# At least for glibc and Tru64, clock_gettime is in librt. But don't
# pull that in if it still doesn't give us the function we want. This
# test is copied from libgomp, and modified to not link in -lrt as
# libgfortran calls clock_gettime via a weak reference if it's found
# in librt.
if
test
$ac_cv_func_clock_gettime
=
no
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for clock_gettime in -lrt"
>
&5
$as_echo_n
"checking for clock_gettime in -lrt... "
>
&6
;
}
...
...
@@ -25421,7 +25422,7 @@ fi
$as_echo
"
$ac_cv_lib_rt_clock_gettime
"
>
&6
;
}
if
test
"x
$ac_cv_lib_rt_clock_gettime
"
=
x
""
yes
;
then
:
$as_echo
"#define HAVE_CLOCK_GETTIME 1"
>>
confdefs.h
$as_echo
"#define HAVE_CLOCK_GETTIME
_LIBRT
1"
>>
confdefs.h
fi
...
...
@@ -25761,7 +25762,7 @@ $as_echo "#define SUPPORTS_WEAK 1" >>confdefs.h
fi
case
"
$host
"
in
*
-
*
-darwin
*
|
*
-
*
-hpux
*
|
*
-
*
-cygwin
*
|
*
-
*
-mingw
*
)
*
-
*
-darwin
*
|
*
-
*
-hpux
*
|
*
-
*
-cygwin
*
|
*
-
*
-mingw
*
|
alpha
*
-dec-osf
*
)
$as_echo
"#define GTHREAD_USE_WEAK 0"
>>
confdefs.h
...
...
libgfortran/configure.ac
View file @
2aadeae2
...
...
@@ -492,14 +492,15 @@ LIBGFOR_CHECK_FLOAT128
# Check for GNU libc feenableexcept
AC_CHECK_LIB([m],[feenableexcept],[have_feenableexcept=yes AC_DEFINE([HAVE_FEENABLEEXCEPT],[1],[libm includes feenableexcept])])
# At least for glibc, clock_gettime is in librt. But don't pull that
# in if it still doesn't give us the function we want.
# This test is copied from libgomp, and modified to not link in -lrt
# as libgfortran calls clock_gettime via a weak reference.
# At least for glibc and Tru64, clock_gettime is in librt. But don't
# pull that in if it still doesn't give us the function we want. This
# test is copied from libgomp, and modified to not link in -lrt as
# libgfortran calls clock_gettime via a weak reference if it's found
# in librt.
if test $ac_cv_func_clock_gettime = no; then
AC_CHECK_LIB(rt, clock_gettime,
[AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
[Define to 1 if you have the `clock_gettime' function.])])
[AC_DEFINE(HAVE_CLOCK_GETTIME
_LIBRT
, 1,
[Define to 1 if you have the `clock_gettime' function
in librt
.])])
fi
# Check for SysV fpsetmask
...
...
libgfortran/intrinsics/system_clock.c
View file @
2aadeae2
...
...
@@ -29,14 +29,16 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "time_1.h"
#ifdef HAVE_CLOCK_GETTIME
/* POSIX states that CLOCK_REALTIME must be present if clock_gettime
is available, others are optional. */
#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_CLOCK_GETTIME_LIBRT)
#ifdef CLOCK_MONOTONIC
#define GF_CLOCK_MONOTONIC CLOCK_MONOTONIC
#else
#define GF_CLOCK_MONOTONIC CLOCK_REALTIME
#endif
#endif
/* Weakref trickery for clock_gettime(). On Glibc, clock_gettime()
requires us to link in librt, which also pulls in libpthread. In
...
...
@@ -50,15 +52,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define GTHREAD_USE_WEAK 1
#endif
#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
&& defined(HAVE_CLOCK_GETTIME_LIBRT)
static
int
weak_gettime
(
clockid_t
,
struct
timespec
*
)
__attribute__
((
__weakref__
(
"clock_gettime"
)));
#else
static
inline
int
weak_gettime
(
clockid_t
clk_id
,
struct
timespec
*
res
)
{
return
clock_gettime
(
clk_id
,
res
);
}
#endif
#endif
...
...
@@ -84,6 +80,13 @@ gf_gettime_mono (time_t * secs, long * nanosecs)
{
int
err
;
#ifdef HAVE_CLOCK_GETTIME
struct
timespec
ts
;
err
=
clock_gettime
(
GF_CLOCK_MONOTONIC
,
&
ts
);
*
secs
=
ts
.
tv_sec
;
*
nanosecs
=
ts
.
tv_nsec
;
return
err
;
#else
#if defined(HAVE_CLOCK_GETTIME_LIBRT) && SUPPORTS_WEAK && GTHREAD_USE_WEAK
if
(
weak_gettime
)
{
struct
timespec
ts
;
...
...
@@ -96,6 +99,7 @@ gf_gettime_mono (time_t * secs, long * nanosecs)
err
=
gf_gettime
(
secs
,
nanosecs
);
*
nanosecs
*=
1000
;
return
err
;
#endif
}
extern
void
system_clock_4
(
GFC_INTEGER_4
*
,
GFC_INTEGER_4
*
,
GFC_INTEGER_4
*
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment