aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-08-26 06:54:15 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-08-26 06:54:15 +0000
commit7e2055ec11ece615f17218f61ae8fd0b594bfba6 (patch)
tree4da878ce1023935732ab30a3a136fc84f8f2321a /gcc
parent6cd28c3182ddfd66585f121bcb09445fdd96ece5 (diff)
downloadgcc-7e2055ec11ece615f17218f61ae8fd0b594bfba6.zip
gcc-7e2055ec11ece615f17218f61ae8fd0b594bfba6.tar.gz
gcc-7e2055ec11ece615f17218f61ae8fd0b594bfba6.tar.bz2
config.gcc (hppa*-*-hpux11*, [...]): Remove commented-out logic to use DCE threads (if present)...
gcc: * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove commented-out logic to use DCE threads (if present), add support for POSIX threads. * config/ia64/hpux.h: Define CPP_SPEC to set appropriate #defines for -pthread. Add -lpthread to LIB_SPEC when -pthread. In both cases take -mt as a synonym for -pthread for acc compatibility. Define GTHREAD_USE_WEAK to 0. * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC. Remove old logic for DCE threads from LIB_SPEC. * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0. libstdc++-v3: * config/os/hpux/os_defines.h: Unconditionally define _GLIBCXX_GTHREAD_USE_WEAK to 0. From-SVN: r70797
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog38
-rw-r--r--gcc/config.gcc44
-rw-r--r--gcc/config/ia64/hpux.h12
-rw-r--r--gcc/config/pa/pa-hpux11.h16
-rw-r--r--gcc/config/pa/pa64-hpux.h4
5 files changed, 72 insertions, 42 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 24a3f58..b4d62d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2003-08-25 Zack Weinberg <zack@codesourcery.com>
+
+ * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
+ commented-out logic to use DCE threads (if present), add
+ support for POSIX threads.
+ * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
+ #defines for -pthread. Add -lpthread to LIB_SPEC when
+ -pthread. In both cases take -mt as a synonym for -pthread
+ for acc compatibility.
+ Define GTHREAD_USE_WEAK to 0.
+ * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
+ Remove old logic for DCE threads from LIB_SPEC.
+ * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
+
2003-08-25 Roger Sayle <roger@eyesopen.com>
* builtins.c (expand_builtin_mathfn): Rearrange so that we only
@@ -9,7 +23,7 @@
* config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
result when op0 is SImode.
-
+
2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
* fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
@@ -64,7 +78,7 @@
(pp_c_abstract_declarator): Adjust prototype.
(pp_c_direct_abstract_declarator): Likewise.
(pp_c_type_id): Likewise.
- (pp_c_storage_class_specifier): Likewise.
+ (pp_c_storage_class_specifier): Likewise.
(pp_c_function_specifier): Likewise.
(pp_c_declaration_specifiers): Likewise.
(pp_c_direct_declarator): Likewise.
@@ -356,17 +370,17 @@ Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
* config/pa/quadlib.c: Likewise.
* config/pa/rtems.h: Likewise.
* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
- all uses of the PARAMS macro.
+ all uses of the PARAMS macro.
* config/pa/pa.h: Likewise.
* config/pa/som.h: Likewise.
- * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
- Remove all uses of PARAMS macro.
- Convert all function definitions to ISO C90 syntax.
+ * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
+ Remove all uses of PARAMS macro.
+ Convert all function definitions to ISO C90 syntax.
* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
- Remove all uses of PARAMS macro.
+ Remove all uses of PARAMS macro.
* config/iq2000.h: Remove all uses of PARAMS macro.
- * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
+ * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
@@ -374,8 +388,8 @@ Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
* config/s390/s390.c (gen_consttable): Remove.
(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
(s390_output_pool_entry): New function.
- * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
- UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
+ * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
+ UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
(UNSPECV_POOL_ENTRY): ... this new constant.
("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
@@ -475,8 +489,8 @@ Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
* config/m68k/m68k.c: Likewise.
2003-08-21 Bernardo Innocenti <bernie@develer.com>
- Paul Dale <pauli@snapgear.com>
- Peter Barada <peter@baradas.org>
+ Paul Dale <pauli@snapgear.com>
+ Peter Barada <peter@baradas.org>
* config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
ColdFire cores.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 65819a3..70ce27e 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -882,13 +882,11 @@ hppa*64*-*-hpux11*)
then
target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
fi
-# if [ x$enable_threads = x ]; then
-# enable_threads=$have_pthread_h
-# fi
-# if [ x$enable_threads = xyes ]; then
-# thread_file='dce'
-# tmake_file="${tmake_file} pa/t-dce-thr"
-# fi
+ case x${enable_threads} in
+ xyes | xposix )
+ thread_file=posix
+ ;;
+ esac
install_headers_dir=install-headers-cpio
;;
hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
@@ -896,13 +894,11 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
-# if test x$enable_threads = x; then
-# enable_threads=$have_pthread_h
-# fi
-# if test x$enable_threads = xyes; then
-# thread_file='dce'
-# tmake_file="${tmake_file} pa/t-dce-thr"
-# fi
+ case x${enable_threads} in
+ xyes | xposix )
+ thread_file=posix
+ ;;
+ esac
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
@@ -910,13 +906,11 @@ hppa1.0-*-hpux11*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
-# if test x$enable_threads = x; then
-# enable_threads=$have_pthread_h
-# fi
-# if test x$enable_threads = xyes; then
-# thread_file='dce'
-# tmake_file="${tmake_file} pa/t-dce-thr"
-# fi
+ case x${enable_threads} in
+ xyes | xposix )
+ thread_file=posix
+ ;;
+ esac
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
@@ -1296,9 +1290,11 @@ ia64*-*-hpux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
tmake_file="ia64/t-ia64 ia64/t-hpux"
target_cpu_default="MASK_GNU_AS"
- if test x$enable_threads = xyes; then
- thread_file='posix'
- fi
+ case x$enable_threads in
+ xyes | xposix )
+ thread_file=posix
+ ;;
+ esac
use_collect2=no
c_target_objs="ia64-c.o"
cxx_target_objs="ia64-c.o"
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index 5cdb8af..160ac45 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -49,6 +49,13 @@ do { \
} \
} while (0)
+#undef CPP_SPEC
+#define CPP_SPEC \
+ "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}"
+/* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These
+ affect only aCC's C++ library (Rogue Wave-derived) which we do not
+ use, and they violate the user's name space. */
+
#undef ASM_EXTRA_SPEC
#define ASM_EXTRA_SPEC "%{milp32:-milp32} %{mlp64:-mlp64}"
@@ -68,6 +75,7 @@ do { \
#undef LIB_SPEC
#define LIB_SPEC \
"%{!shared: \
+ %{mt|pthread:-lpthread} \
%{p:%{!mlp64:-L/usr/lib/hpux32/libp} \
%{mlp64:-L/usr/lib/hpux64/libp} -lprof} \
%{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \
@@ -134,6 +142,10 @@ do { \
#undef TARGET_HPUX_LD
#define TARGET_HPUX_LD 1
+/* The HPUX dynamic linker objects to weak symbols with no
+ definitions, so do not use them in gthr-posix.h. */
+#define GTHREAD_USE_WEAK 0
+
/* Put out the needed function declarations at the end. */
#define TARGET_ASM_FILE_END ia64_hpux_file_end
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h
index 7a7b3be..e8865df 100644
--- a/gcc/config/pa/pa-hpux11.h
+++ b/gcc/config/pa/pa-hpux11.h
@@ -74,6 +74,13 @@ Boston, MA 02111-1307, USA. */
} \
while (0)
+#undef CPP_SPEC
+#define CPP_SPEC \
+ "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}"
+/* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These
+ affect only aCC's C++ library (Rogue Wave-derived) which we do not
+ use, and they violate the user's name space. */
+
/* We can debug dynamically linked executables on hpux11; we also
want dereferencing of a NULL pointer to cause a SEGV. */
#undef LINK_SPEC
@@ -100,15 +107,12 @@ Boston, MA 02111-1307, USA. */
%{static:-a archive} %{shared:-b}"
#endif
-/* Like the default, except no -lg. */
+/* hpux 11 has posix threads. */
#undef LIB_SPEC
#define LIB_SPEC \
"%{!shared:\
- %{!p:%{!pg:\
- %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\
- %{threads:-lcma -lc_r}}}\
- %{p:%{!pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}\
- %{pg:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}"
+ %{mt|pthread:-lpthread} -lc \
+ %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}"
/* Under hpux11, the normal location of the `ld' and `as' programs is the
/usr/ccs/bin directory. */
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index 4b9e1a3..a29583b 100644
--- a/gcc/config/pa/pa64-hpux.h
+++ b/gcc/config/pa/pa64-hpux.h
@@ -383,3 +383,7 @@ PA_INIT_FINI_HACK
and returns 0. /bin/true cannot be used because it is a script without
an interpreter. */
#define INIT_ENVIRONMENT "LD_PXDB=/usr/ccs/bin/size"
+
+/* The HPUX dynamic linker objects to weak symbols with no
+ definitions, so do not use them in gthr-posix.h. */
+#define GTHREAD_USE_WEAK 0