aboutsummaryrefslogtreecommitdiff
path: root/libgupc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libgupc/ChangeLog')
-rw-r--r--libgupc/ChangeLog1644
1 files changed, 1644 insertions, 0 deletions
diff --git a/libgupc/ChangeLog b/libgupc/ChangeLog
new file mode 100644
index 00000000000..f853c927a1c
--- /dev/null
+++ b/libgupc/ChangeLog
@@ -0,0 +1,1644 @@
+2015-11-28 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_main.c (__upc_process_switches): Accept -fupc-threads=N
+ and -fupc-heap=N switches as well as their deprecated forms.
+ (__upc_print_help_and_exit): Print -fupc-threads=N
+ and -fupc-heap=N forms in the usage summary.
+ * smp/gcc-upc-lib.in: Refer to -fupc-threads=N compilation switch.
+ * portals4/gcc-upc-lib.in: Ditto.
+
+2015-11-25 Gary Funck <gary@intrepid.com>
+
+ * Makefile.am: Fix spelling.
+ * Makefile.in: Re-generate.
+ * collectives/upc_coll_init.upc: Ditto.
+ * collectives/upc_coll_prefix_reduce.in: Ditto.
+ * include/gasp_upc.h: Ditto.
+ * portals4/gupcr_barrier.c: Ditto.
+ * portals4/gupcr_pts.h: Ditto.
+ * smp/upc_gum.c: Ditto.
+ * smp/upc_main.c: Ditto.
+ * smp/upc_pts.h: Ditto.
+
+2015-11-22 Gary Funck <gary@intrepid.com>
+
+ * ax_prog_doxygen.m4: Fix spelling.
+ * configure.ac: Ditto.
+ * portals4/doxygen.cfg.in: Ditto.
+ * portals4/gupcr_coll_sup.c: Ditto.
+ * portals4/gupcr_gmem.h: Ditto.
+ * portals4/gupcr_nb_sup.c: Ditto.
+ * smp/upc_affinity.c: Ditto.
+ * smp/upc_main.c: Ditto.
+ * configure: Re-generate.
+
+2015-11-04 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_sync.h (GUPCR_WRITE_FENCE, GUPCR_READ_FENCE):
+ Define for __aarch64__.
+
+2015-10-21 Gary Funck <gary@intrepid.com>
+
+ * upc-crtbegin.spec.in, upc-crtend.spec.in:
+ Refer to -fupc, not -fupc-link, in comment.
+
+2015-10-17 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_sup.h (upc_shared_ptr_alias_t): Delete.
+ Remove this type, no longer needed because the runtime is
+ built with -fno-strict-aliasing.
+
+2015-10-13 Gary Funck <gary@intrepid.com>
+
+ * testsuite/lib/libgupc.exp: Load multiline.exp before prune.exp,
+ using load_gcc_lib.
+
+2015-10-07 Gary Funck <gary@intrepid.com>
+
+ * config/default/upc-crt-begin-end.h (GUPCR_SHARED_BEGIN_NAME,
+ GUPCR_SHARED_END_NAME, GUPCR_PGM_INFO_BEGIN_NAME,
+ GUPCR_PGM_INFO_END_NAME, GUPCR_INIT_ARRAY_BEGIN_NAME,
+ GUPCR_INIT_ARRAY_END_NAME): New. Move from gcc/defaults.h
+ and rename UPC_* to GUPCR_*.
+ * configure.ac: Determine UPC linker support by querying
+ GUPC builtin preprocessor symbol.
+ Remove --enable-upc-link-script option.
+ * upc-crtstuff.c: Include upc-crt-begin-end.h.
+ * configure: Re-generate.
+
+2015-10-04 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Extract UPC-related section names from
+ pre-defined's passed by the UPC compiler.
+ * configure.tgt: Remove logic for finding and setting
+ the UPC crt make file fragment ('upc_crtstuff_mak').
+ * Makefile.am: Re-do logic for generating UPC crtbegin/end files.
+ Removes dependency on libgcc and gcc build directories.
+ They are un-needed for UPC, because its "crt" files define
+ only section start/end symbols.
+ * upc-crtstuff.c: Removes dependency on libgcc and gcc source
+ and build directories.
+ * config/default/upc-crtstuff.mak: Remove.
+ * config/darwin/upc-crt-config.h: Parameterize by section
+ names passed by the UPC compiler as pre-defined's.
+ * config/default/upc-crt-config.h: Ditto.
+ * configure: Re-generate.
+ * config.h.in: Re-generate.
+ * Makefile.in: Re-generate.
+
+2015-09-26 Gary Funck <gary@intrepid.com>
+
+ * config.h.in (GUPCR_SHARED_SECTION_NAME,
+ GUPCR_PGM_INFO_SECTION_NAME, GUPCR_INIT_ARRAY_SECTION_NAMEA):
+ Move from gcc/defaults.h and rename UPC_* to GUPCR_*.
+
+2015-09-17 Gary Funck <gary@intrepid.com>
+
+ Update copyright notices.
+
+2015-09-09 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_barrier.upc (__upc_btree): Make this a UPC 'strict'
+ shared array in order to avoid potential race conditions
+ in the implementation of barrier.
+
+2015-08-25 Gary Funck <gary@intrepid.com>
+
+ * configure.tgt: Add configure checking for supported targets.
+
+2015-08-15 Gary Funck <gary@intrepid.com>
+
+ * testsuite/lib/libgupc.exp: Load target-utils.exp.
+ Move load of target-supports.exp earlier.
+
+2015-08-14 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Fix the previous update for netbsd checking.
+ * configure: Re-generate.
+
+2015-08-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Check for existence of execinfo library
+ on BSD systems as it is required for backtrace.
+ * configure: Re-generate.
+ * configure.tgt: Add execinfo library on the link line if
+ necessary.
+ * portals4/gupcr_node.c (gupcr_mem_private): File number must
+ be -1 on BSD systems for anonymous maps.
+ * smp/upc_sysdep.c (__upc_strsignal): Add support for SUN. Do
+ not declare sys_siglist on netBSD (already in signal.h).
+ (__upc_create_runtime_heap): File number must be -1 on BSD
+ systems for anonymous maps.
+ * smp/upc_backtrace.c: Fix compile warnings.
+
+2015-08-03 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Remove unnecessary check for
+ -rdynamic.
+ * configure: Re-generate.
+ * configure.tgt: Add option for exporting dynamic symbols
+ only if linker supports it.
+
+2015-07-25 Gary Funck <gary@intrepid.com>
+
+ * libgupc.texi: Change menu ordering to agree with node ordering.
+
+2015-07-24 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_pts.h (GUPCR_ONE): Define as unsigned constant,
+ to avoid overflow warnings.
+ * portals4/gupcr_pts.h (GUPCR_ONE): Ditto.
+
+2015-07-03 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_nb.upc (upc_memset_nb, upc_memset_nbi): Complete
+ upc_memset() with upc fence. Otherwise it will not be completed by
+ the non-blocking sync functions.
+
+2015-05-18 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Set minimum automake version to 1.11.6.
+ * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
+ Re-generate with automake 1.11.6.
+
+2015-04-30 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_nb_sup.c (gupc_nb_put/get): Fix bug. Increment
+ number of outstanding implicit transfers.
+
+2014-11-01 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_gmem.c (gupc_gmem_get): Advance remote offset
+ if more then one PtlGet() are executed.
+
+2014-08-15 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_mem.c (upc_memcpy): Make sure outstanding
+ strict puts are completed before transferring data from
+ the remote node as local thread can have an outstanding
+ memory put to the same location.
+
+2014-08-01 Gary Funck <gary@intrepid.com>
+
+ * configure.ac (GUPCR_PORTALS_RUNTIME): New AC_DEFINE().
+ * config.h.in: Re-generate.
+ * configure: Re-generate.
+ * libgupc.spec.in: Fix comment.
+ * testsuite/lib/libgupc-dg.exp
+ (libgupc_load): Simplify logic.
+ (upc_run_cmd): Rename from run_command.
+ (upc_portals): Use newly added GUPCR_PORTALS_RUNTIME config. variable.
+ (upc_runtime_yod): Make compile-only.
+ * testsuite/lib/libgupc.exp: Bring in line with gomp's libgomp.exp.
+ (libgupc_target_compile): Simplify logic.
+ * testsuite/libgupc.upc/upc.exp:
+ Bring in line with gomp's libgomp.c/c.exp.
+ * testsuite/libgupc.upc/intrepid/test07.upc
+ * testsuite/libgupc.upc/intrepid/test07_sep.upc
+ * testsuite/libgupc.upc/intrepid/test08.upc
+ * testsuite/libgupc.upc/intrepid/test08_sep.upc
+ Add dg-options to properly support separate compilation.
+
+2014-07-16 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_lock.upc (upc_lock): Add upc_fence to flush
+ caches after write and before read from shared space. Fixes
+ occasional lockup in the lock code.
+
+2014-07-02 Nenad Vukicevic <nenad@intrepid.com>
+
+ * Makefile.am (UPC_LINK_SCRIPT): Change the UPC link script
+ build procedure. The previous way was always generating
+ an error as not source file was provided. This error string
+ ended up in the UPC link script on some of the systems.
+ * Makefile.in: Regenerate.
+
+2014-07-02 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gcc-upc-lib.in: Use stddef.h for size_t
+ instead of sys/types.h as it might break on some
+ systems.
+
+2014-05-27 Nenad Vukicevic <nenad@intrepid.com>
+
+ * upc_main.c (__upc_run_threads): Set O_APPEND flag
+ on stdout/stderr to fix occasional garbled output when
+ output from multiple threads is saved to a file.
+
+2014-04-21 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.tgt: Fix check for the presence of -rdynamic
+ compiler switch.
+
+2014-04-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_atomic.upc (upc_atomic_relaxed): Fix PTS
+ CSWAP operation to return target value on failures too.
+
+2014-04-08 Gary Funck <gary@intrepid.com>
+
+ Fix UPC atomic operations on types that have no builtin
+ compiler support. Build a version of the libatomic convenience
+ library that has no locking support, and then provide
+ locks in the UPC runtime library. These lock functions
+ serialize atomic operations on types with no builtin atomics.
+ * libatomic/Makefile.am: Add rule to build
+ libatomic_convenience_nolock library.
+ * libatomic/Makefile.in: Re-generate.
+ * Makefile.am: Use libatomic_convenience_nolock library.
+ Compile libat lock support. Add convenience library to
+ pthreads version of the UPC runtime library.
+ * Makefile.in: Re-generate.
+ * smp/upc_atomic.tpl: Simplify compare/swap support.
+ * smp/upc_atomic.upc: Re-generate.
+ * smp/upc_libat_lock.c: New. UPC-specific libat lock support.
+ * smp/upc_libat_lock.h: New. UPC-specific libat lock support.
+
+2014-03-18 Nenad Vukicevic <nenad@intrepid.com>
+
+ As per UPC spec 1.3 query function is upc_atomic_isfast().
+ * include/upc_atomic.h (upc_atomic_query): Rename to
+ upc_atomic_isfast().
+ * portals4/gupcr_atomic.upc (upc_atomic_query): Rename to
+ upc_atomic_isfast().
+ * smp/upc_atomic.tpl (upc_atomic_query): Rename to
+ upc_atomic_isfast().
+ * smp/upc_atomic.upc: Regenerate.
+
+2014-01-17 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_barrier.upc: Remove unnecessary include.
+ * smp/upc_pts.hi (GUPCR_PTS_SET_VADDR): Fix the cast. Some other
+ compilers might issues a warning.
+ * smp/upc_vm.c (__upc_vm_map_addr): Add a cast to avoid a possible
+ warning on void * arithmetic.
+
+2014-01-17 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/gcc-upc-lib.in: Add defines for __UPC_CASTABLE__,
+ __UPC_COLLECTIVE__, __UPC_TICK__, and __UPC_PUCP__ defines.
+ * portals4/gcc-upc-lib.in: Ditto.
+
+2014-01-10 Gary Funck <gary@intrepid.com>
+
+ Update copyright notices.
+
+2014-01-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_alloc.upc (gupcr_pts_add_offset): Moved from
+ gupcr_utils.h.
+ (gupcr_pts_diff): Ditto.
+ * portals4/gupcr_utils.h (gupcr_pts_add_offset): Remove.
+ (gupcr_pts_diff): Ditto.
+
+2014-01-04 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Remove check for cc1upc.
+ * configure: Re-generate.
+ * portals4/gcc-upc-lib.in: Protect upc_atomicdomain_t declaration
+ with #pragma upc upc_code.
+ * smp/gcc-upc-lib.in: Ditto.
+
+2013-11-03 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_atomic.upc (gupcr_set_optype_val): Add missing
+ break on case statement.
+ (gupcr_negate_atomic_type): Ditto.
+
+2013-10-23 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Rework checking of GDB availability for backtracing.
+ Usage of GDB backtracing is enabled only if GDB was found or the
+ path was specified by the user. Change was needed as Mac OS X
+ 10.9 does not have gdb installed.
+ Additional fix for printing correct result if "-rdynamic" option
+ is available.
+ * configure: Re-generate.
+
+2013-10-04 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add UPC backtrace to Portals4 runtime.
+ * Makefile.am: UPC_BACKTRACE_SUP is common define now.
+ (UPC_RUNTIME_SRC): Portals4, add UPC backtrace files.
+ * Makefile.in: Re-generate.
+ * configure.ac: Check for UPC backtrace options is common
+ to SMP and Portals4 runtimes.
+ * configure: Re-generate.
+ * portals4/gupcr_backtrace.c: New. Port from the SMP implementation.
+ * portals4/gupcr_backtrace.h: Ditto.
+ * portals4/gupcr_barrier.c (gupcr_barrier_id): Make it global.
+ * portals4/gupcr_barrier.h: Ditto.
+ * portals4/gupcr_env.c (gupcr_env_kind): Add ENV_UPC_BACKTRACE.
+ (gupcr_env_var_table): Add ENV_UPC_BACKTRACE.
+ (gupcr_env_init): Add support for ENV_UPC_BACKTRACE.
+ * portals4/gupcr_main.c (gupcr_init): Initialized UPC backtrace
+ if enabled.
+ * portals4/gupcr_utils.c (gupcr_backtrace): Add.
+ (gupcr_create_temp_file): Add.
+ (gupcr_set_backtrace):Add.
+ (gupcr_is_backtrace_enabled): Add.
+ * portals4/gupcr_utils.h: Add prototypes for the new utility
+ functions.
+
+2013-09-27 Gary Funck <gary@intrepid.com>
+
+ Implement non-blocking transfer operations for SMP runtime.
+ * Makefile.am (UPC_RUNTIME_SRC): Add upc_nb.upc.
+ * Makefile.in: Re-generate.
+ * configure: Re-generate.
+ * smp/gcc-upc-lib.in: Add __UPC_NB__ definition.
+ * smp/gupcr_nb.upc: New. Non-blocking transfers library.
+
+2013-09-26 Nenad Vukicevic <nenad@intrepid.com>
+
+ * Makefile.am (UPC_BACKTRACE_SUP): Remove upc_backtrace_sup.c.
+ * Makefile.in: Re-generate.
+ * configure.ac: Remove detection of libbfd. Add
+ HAVE_UPC_BACKTRACE_ADDR2LINE and GUPCR_BACKTRACE_ADDR2LINE
+ definitions.
+ * configure: Re-generate.
+ * config.h.in: Re-generate.
+ * configure.tgt (LIBS): Remove libbfd and libdl.
+ * smp/upc_backtrace.c (__upc_backtrace): Use addr2line to generate
+ source code references.
+ (__upc_abs_execname): Use pointer instead of large array declaration.
+ (__upc_backtrace_init): Allocate space for __upc_abs_execname.
+ * smp/upc_backtrace.h: Remove libbfd support function prototype.
+ * smp/upc_backtrace_sup.c: Delete.
+
+2013-09-10 Nenad Vukicevic <nenad@intrepid.com>
+
+ Implement non-blocking transfer operations for Portals4 runtime.
+ * Makefile.am (UPC_RUNTIME_SRC): Add upc_nb.upc, upc_nb_sup.h,
+ upc_nb_sup.c for Portals4 source files.
+ * Makefile.in: Re-generate.
+ * portals4/gcc-upc-lib.in: Add __UPC_NB__ definition.
+ * portals4/gupcr_env.c (gupcr_facility_table): Add FC_NB facility.
+ * portals4/gupcr_main.c (gupcr_init): Add NB initialization.
+ (gupcr_fini): Add NB finalization.
+ * portals4/gupcr_nb.upc: New. Non-blocking transfers library.
+ * portals4/gupcr_nb_sup.c: New. Non-blocking transfers support.
+ * portals4/gupcr_nb_sup.h: New. Non-blocking transfers support.
+ * portals4/gupcr_portals.h: Add GUPCR_PTL_PTE_NB for non-blocking
+ transfers.
+ (gupcr_portals_call_with_status): PTL_EQ_EMPTY is not an error.
+ * portals4/gupcr_utils.h (gupcr_facility_t): Add enum value for FC_NB.
+
+2013-09-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ Added UPC non-blocking transfer header file.
+ * Makefile.am (UPC_HDRS): Add upc_nb.h
+ * Makefile.in: Re-generate.
+ * include/upc_nb.h: New. Required per 1.3 spec.
+
+2013-08-06 Gary Funck <gary@intrepid.com>
+
+ Implement atomic operations library for SMP runtime.
+ * ../Makefile.def: Add dependencies for libatomic and libbacktrace.
+ * ../Makefile.in: Re-generate.
+ * Makefile.am: Add gen-inline-libgupc.pl gen-upc-ld-script.pl.
+ Add autogen rules to build smp/upc_atomic.upc.
+ * Makefile.in: Re-generate.
+ * include/upc_atomic.h: Add UPC_*_OP definitions.
+ * include/upc_ops.def: New. Describe UPC atomic operations.
+ * include/upc_types.def: New. Describe UPC atomic types.
+ * include/upc_types.h: Add UPC_*_OP definitions.
+ * smp/gcc-upc-lib.in: Define __UPC_ATOMIC__ and add typedef
+ for upc_atomicdomain_t.
+ * smp/upc_atomic.def: New. Autogen definition file for upc_atomic.upc.
+ * smp/upc_atomic.tpl: New. Autogen template file for upc_atomic.upc.
+ * smp/upc_atomic.upc: New. Generate from smp/upc_atomic.def.
+ * smp/upc_config.h: Add defines for LONG_LONG_BITS and SIZE_T_BITS.
+ * smp/upc_main.c: (__upc_fatal) Fix bug in handling of variadic args.
+
+2013-07-24 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_atomic_sup.c: Use correct type for EQ declaration.
+ * portals4/gupcr_coll_sup.c: Ditto.
+ * portals4/gupcr_shutdown.c: Ditto.
+
+2013-06-12 Nenad Vukicevic <nenad@intrepid.com>
+
+ * testsuite/lib/libgupc-dg.exp: Check GUPC P4 runtime for SLURM
+ or YOD configuration and use appropriate commands to run tests.
+
+2013-06-07 Nenad Vukicevic <nenad@intrepid.com>
+
+ * testsuite/libgupc.upc/upc.exp: Changed list of tests to exclude
+ separate compilation units (*_sep.upc).
+
+2013-06-07 Nenad Vukicevic <nenad@intrepid.com>
+
+ * include/gasp_upc.h: Cleanup to conform to GCC codding style
+ (mainly fixing comments, but also some prototypes, defiens, ...).
+ include/gcc-upc.h: Ditto.
+ * include/pupc.h: Ditto.
+ * include/upc.h: Ditto.
+ * include/upc_collective.h: Ditto.
+ * include/upc_tick.h: Ditto.
+ * include/upc_types.h: Ditto.
+ * portals4/gcc-upc-lib.in: Ditto.
+ * portals4/gupcr_access.c: Ditto.
+ * portals4/gupcr_access.h: Ditto.
+ * portals4/gupcr_addr.c: Ditto.
+ * portals4/gupcr_alloc.upc: Ditto.
+ * portals4/gupcr_clock.c: Ditto.
+ * portals4/gupcr_coll_broadcast.upc: Ditto.
+ * portals4/gupcr_coll_reduce.in: Ditto.
+ * portals4/gupcr_coll_reduce.upc: Ditto.
+ * portals4/gupcr_config.h: Ditto.
+ * portals4/gupcr_defs.h: Ditto.
+ * portals4/gupcr_gmem.c: Ditto.
+ * portals4/gupcr_gmem.h: Ditto.
+ * portals4/gupcr_lock_sup.h: Ditto.
+ * portals4/gupcr_main.c: Ditto.
+ * portals4/gupcr_mem.c: Ditto.
+ * portals4/gupcr_pgm_info.c: Ditto.
+ * portals4/gupcr_portals.c: Ditto.
+ * portals4/gupcr_pts.h: Ditto.
+ * portals4/gupcr_runtime.c: Ditto.
+ * portals4/gupcr_shutdown.c: Ditto.
+ * portals4/gupcr_tick.c: Ditto.
+ * portals4/gupcr_utils.c: Ditto.
+ * portals4/gupcr_utils.h: Ditto.
+
+2013-06-07 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_atomic.upc: Cleanup calls to gupc_fatal_error.
+ Message starts with lowercase letter, no need for thread
+ identification as it will be included automatically, cleanup
+ message content.
+ * portals4/gupcr_atomic_sup.c: Ditto.
+ * portals4/gupcr_barrier.c: Ditto.
+ * portals4/gupcr_broadcast.c: Ditto.
+ * portals4/gupcr_coll_init.upc: Ditto.
+ * portals4/gupcr_coll_reduce.in: Ditto.
+ * portals4/gupcr_coll_reduce.upc: Ditto.
+ * portals4/gupcr_coll_sup.c: Ditto.
+ * portals4/gupcr_env.c: Ditto.
+ * portals4/gupcr_lock.upc: Ditto.
+ * portals4/gupcr_lock_sup.c: Ditto.
+
+2013-06-06 Nenad Vukicevic <nenad@intrepid.com>
+
+ Update copyright years.
+
+2013-06-06 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_atomic.upc (upc_atomic_query): Compile error fix.
+
+2013-06-06 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_main.c (__upc_fatal): Extend interface to
+ support printf-like formatting of fatal error messages.
+ * smp/upc_sup.h (__upc_fatal): Adjust prototype.
+ (__upc_exit): Add nothrow attribute to prototype.
+
+2013-06-06 Gary Funck <gary@intrepid.com>
+
+ * include/upc.h: Re-fix. Delete all of the (deprecated) declarations
+ of prototype for upc_local_alloc(). It has been
+ removed in the UPC 1.3 spec.
+
+2013-06-05 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add support for UPC atomics to Portals4 runtime.
+ * Makefile.am (UPC_RUNTIME_SRC): Add atomic files.
+ (UPC_HDRS): Add atomic files.
+ * Makefile.in: Re-generate.
+ * include/upc_atomic.h: New. UPC atomic interface.
+ * portals4/gcc-upc-lib.in (__UPC_ATOMIC__): Add.
+ Add definition of upc_atomicdomain_t.
+ * portals4/gupcr_atomic.upc: New. UPC atomic implementation.
+ * portals4/gupcr_atomic_sup.c: New. UPC atomic support functions.
+ * portals4/gupcr_atomic_sup.h: New.
+ * portals4/gupcr_env.c (gupcr_facility_table): Add atomic facility.
+ * portals4/gupcr_main.c (gupcr_init): Add atomic initialization.
+ (gupcr_fini): Add atomic finalization.
+ * portals4/gupcr_portals.c (gupcr_get_atomic_size): Add.
+ * portals4/gupcr_portals.h (gupcr_get_atomic_size): Add.
+ * portals4/gupcr_utils.c (gupcr_get_buf_as_hex): Add.
+ * portals4/gupcr_utils.h (gupcr_facility_t): Add atomic facility.
+
+2013-05-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_env.c: Add UPC_FIRSTTOUCH environment variable
+ as a no-op. Misc fixes in comments for ON/OFF -> YES/NO.
+ (gupcr_env_init): Handle UPC_FIRSTTOUCH as no-op.
+
+2013-05-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add support for remote put optimization with usage of volatile MD.
+ configure.ac: Add configuration option
+ (--with-upc-max-outstanding-puts) for maximum number of
+ outstanding remote put operations.
+ * config.h.in: Re-generate.
+ configure: Re-generate.
+ * portals4/gupcr_gmem.c: Add gupcr_gmem_high_mark_puts variable.
+ Add gupcr_gmem_low_mark_puts variable.
+ (gupcr_gmem_put): Use volatile MD if transfer size is
+ smaller then the volatile maximum size. Add checking for maximum
+ number of outstanding puts (flow control).
+ * portals4/gupcr_gmem.h (gupcr_gmem_xfer_info_t): Add md_volatile
+ field.
+ * portals4/gupcr_portals.c: Add gupcr_max_volatile_size variable.
+ (gupcr_portals_ni_init): Initialize max volatile size from NI
+ limits.
+ * portals4/gupcr_portals.h: Add GUPCR_PORTALS_MAX_VOLATILE_SIZE
+ define. Add gupcr_max_volatile_size extern definition.
+
+2013-04-18 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_gmem.c (gupcr_gmem_init): Add debug logging for
+ GMEM location/size.
+ * portals4/gupcr_lock_sup.c (gupcr_lock_init): Fix the debug print
+ format for GMEM size.
+
+2013-04-11 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Fix check for correct bounce buffer size value where
+ suffix multiplier (e.g. "k") was always expected. Small fix for
+ correct checking of the "multilib" setting.
+ * configure: Re-generate.
+
+2013-04-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_lock.upc (upc_unlock): Add missing upc_fence.
+ * smp/upc_lock.upc (upc_unlock): Ditto.
+
+2013-04-02 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_utils.c (gupcr_is_node_local_memory_enabled); Rename
+ from gupcr_is_node_local_memory. Fixing error from the previous
+ update.
+
+2013-04-01 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_env.c (gupcr_env_boolean): Rename from gupcr_env_switch.
+ Change options to NO/no/0 or YES/yes/1.
+ (gupcr_env_init): New names for node memory and forcetouch options
+ set routines.
+ * portals4/gupcr_node.c (gupcr_node_local_alloc): Ditto.
+ (gupcr_node_init): Ditto.
+ * portals4/gupcr_utils.c (gupcr_set_node_local_memory): Rename from
+ gupcr_set_node_local_mem_enabled.
+ (gupcr_set_forcetouch): Rename from gupcr_set_forcetouch_enabled.
+ * portals4/gupcr_utils.h: Ditto.
+
+2013-04-01 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add shared memory page by page touch on startup.
+ * configure.ac: Add --with-upc-memory-page-size switch.
+ * config.h.in: Re-generate.
+ * configure: Re-generate.
+ * portals4/gupcr_env.c: Add UPC_FORCETOUCH env variable. Set to
+ 1 (one) by default.
+ (gupcr_env_init): Decode UPC_FORCETOUCH env variable.
+ * portals4/gupcr_node.c (gupcr_mem_check): Touch each page
+ of the local shared memory to make sure that memory is NUMA local.
+ * portals4/gupcr_utils.c (gupcr_set_forcetouch_enabled): Add.
+ (gupcr_is_forcetouch_enabled): Add.
+ * portals4/gupcr_utils.h (gupcr_set_forcetouch_enabled): Add.
+ (gupcr_is_forcetouch_enabled): Add.
+
+2013-04-01 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_main.c (gupcr_init): Initialize runtime
+ interface first and set MYTHREAD right after, making sure that
+ MYTHREAD is valid while going through the Portals runtime
+ initialization.
+ Fix the error reporting on threads number mismatch.
+
+2013-03-30 Gary Funck <gary@intrepid.com>
+
+ * include/upc.h: Delete (deprecated) declaration
+ of prototype for upc_local_alloc(). It has been
+ removed in the UPC 1.3 spec.
+
+2013-03-30 Gary Funck <gary@intrepid.com>
+
+ Implement upc_castable library support (per UPC 1.3 spec.)
+ * Makefile.am: Add upc_castable.h as an exported header file.
+ Add smp/upc_castable.upc and portals4/gupcr_castable.upc
+ to list of runtime source files.
+ * Makefile.in: Re-generate.
+ * include/upc_castable.h: New.
+ * portals4/gupcr_castable.upc: New.
+ * smp/upc_castable.upc: New.
+
+2013-03-30 Gary Funck <gary@intrepid.com>
+
+ * portals4/gupcr_coll_reduce.in: Change printf format in
+ error message to match the type of upc_op_t, which is
+ now 'unsigned long'.
+ * portals4/gupcr_coll_reduce.upc: Re-generate.
+
+2013-03-29 Gary Funck <gary@intrepid.com>
+
+ Implement and use upc_types.h (per UPC 1.3 spec.)
+ * Makefile.am: Add upc_types.h as an exported header file.
+ * Makefile.in: Re-generate.
+ * collectives/upc_coll_err.upc: Fix check for out-of-range
+ collective operation op code. Use UPC_MAX_COLL_OP.
+ * include/upc_collective.h: #include upc_types.h
+ Define UPC_MAX_COLL_OP, the maximum collectives opcode value.
+ * include/upc_types.h: New.
+
+2013-03-27 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Add configuration option for selecting a job
+ launcher (slurm, yod). Default is slurm.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * portals4/gupcr_runtime.c: Select the right pmi.h based on
+ the job launcher configuration.
+
+2013-02-20 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.tgt: Add "-lpthread" if linking with
+ portals4 runtime. Newer systems are linking with
+ the ld.gold which does no allow for linking to
+ required libraries through intermediate objects/libraries.
+
+2012-12-11 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: As libgupc is not built yet, make sure
+ that UPC compiler does not pre-include gcc-upc.h and
+ gcc-upc-lib.h while performing configuration checks.
+ * configure: Regenerate.
+
+2012-11-27 Gary Funck <gary@intrepid.com>
+
+ * config/default/upc-crt-config.h: Remove check for
+ TARGET_ASM_NAMED_SECTION.
+ * smp/upc_config.h: Avoid multiple definition of __USE_GNU.
+ * smp/upc_lock.upc: Use local search (") quoting in #include.
+ * upc-crtstuff.c: Update copyright notice and fix minor typos.
+
+2012-11-19 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_mem.c (upc_memput): Add appropriate checks
+ for proper UPC data ordering. All requests in size above the
+ GUPCR_PORTALS_MAX_ORDERED_SIZE must be treated as strict.
+ (upc_memcopy): Ditto.
+ (upc_memset): Ditto.
+
+2012-11-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ * portals4/gupcr_portals.c (gupcr_get_datatype): Rename
+ to gupcr_get_atomic_datatype to name it correctly. Use
+ PTL_DOUBLE_COMPLEX atomic type as a container for 16 bytes
+ CSWAP operations. The MCS lock implementation requires CSWAP
+ on a pointer to shared which is 16 bytes in the struct
+ configuration.
+ * portals4/gupcr_portals.h: Rename gupcr_get_datatype.
+ * portals4/gupcr_lock_sup.c (gupcr_lock_swap): Ditto.
+ (gupcr_lock_cswap): Ditto.
+
+2012-11-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ Prevent data tearing on accessing a pointer to shared in
+ the shared address space.
+ * portals4/gupcr_lock_sup.c (gupcr_lock_get): New.
+ * portals4/gupcr_lock_sup.h: Add extern def for gupcr_lock_get.
+ * portals4/gupcr_lock.upc (upc_unlock): Access data that can
+ be changed by other threads via Portals interface.
+
+2012-11-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ Replace the usage of spin locks to regular UPC locks in
+ the heap allocation implementation.
+ * Makefile.am (UPC_RUNTIME_SRC): Remove spin lock source
+ files. Add gupcr_lock.h.
+ * Makefile.in; Regenerate.
+ * portals4/gupcr_lock.h: New. External definitions for heap
+ allocation locks.
+ * portals4/gupcr_lock.upc: Declare heap allocation locks.
+ (gupcr_lock_heap_sup_init): New. Initialize heap allocation locks.
+ * portals4/gupcr_alloc.upc: Remove spin lock declarations.
+ (gupcr_alloc_init): Remove spin lock initialization.
+ (gupcr_heap_init_info): Replace spin lock with UPC lock.
+ (gupcr_heap_region_alloc): Ditto.
+ (gupcr_heap_alloc): Ditto.
+ (gupcr_heap_free): Ditto.
+ * portals4/gupcr_lock_sup.h (gupcr_lock_heap_sup_init): Add external
+ definition.
+ * portals4/gupcr_lock_sup.c (gupcr_lock_init): Call the heap
+ allocation locks initialization.
+ * portals4/gupcr_slock.h: Delete.
+ * portals4/gupcr_slock.upc: Delete.
+
+2012-11-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ * testsuite/lib/libgupc.exp: Set the "-B" option at the right
+ place so we support command that runs the tests on multiple
+ targets. The previous version failed on building RPMs that
+ tested "unix,unix/-fstack-protector" targets.
+
+2012-10-26 Nenad Vukicevic <nenad@intrepid.com>
+
+ Place shared initialization code into the .text
+ section instead of a separate .upc_init section.
+ * config/default/upc-crt-config.h (UPC_INIT_SECTION_BEGIN):
+ Delete.
+ (UPC_INIT_SECTION_END): Delete.
+ * config/darwin/upc-crt-config.h: Ditto.
+ * upc-crtstuff.c: Remove declarations for .upc_init
+ section start/end.
+
+2012-10-24 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_main.c (__upc_monitor_threads): Allow for MPIR
+ debug connection while waiting for threads. STAT requires
+ job launcher to periodically call MPIR_Breakpoint(). If
+ killpg() fails call exit() instead of abort to avoid recursion
+ in handling signals.
+
+2012-10-24 Nenad Vukicevic <nenad@intrepid.com>
+
+ * Makefile.am: Add more files for cleanup.
+ * Makefile.in: Regenerate.
+ * smp/upc_tick.c: Add proper casting for calculating
+ nanoseconds from sec/micro-sec if gettimeofday() call was used.
+
+2012-10-23 Nenad Vukicevic <nenad@intrepid.com>
+ Gary Funck <gary@intrepid.com>
+
+ Implement Portals4-based UPC runtime.
+ * configure.ac: Add a check for --with-upc-runtime=portals4.
+ Disable multilib when building libgupc for the portals4 based
+ UPC runtime. Portals4 does not currently support
+ 32-bit targets. Implement additional UPC runtime configuration
+ switches, currently supported by the portals4 based UPC
+ runtime. Check if the user has requested that 'doxygen'
+ design documentation generation is enabled.
+ * configure.tgt: Add portals4 library linker switches if
+ the portals4 based runtime has been enabled via a configure option.
+ * Makefile.am: Add make rules to build the portals4 based runtime
+ when enabled via a configuration option.
+ * aclocal.m4: Re-generate.
+ * config.h.in: Re-generate.
+ * configure: Re-generate.
+ * Makefile.in: Re-generate.
+ * testsuite/Makefile.in: Re-generate.
+ * ax_prog_doxygen.m4: New. Doxygen support.
+ * dox-filter-config-h: New. Doxygen support.
+ * doxygen-include.am: New. Doxygen support.
+ * doxygen.sty.in: New. Doxygen support.
+ * header.tex.in: New. Doxygen support.
+ * portals4/doxygen.cfg.in: New. Doxygen support.
+ * collectives/gen-upc-coll-reduce.pl: Add additional pattern
+ substitutions when expanding collectives customized for use
+ with portals.
+ * collectives/upc_coll_prefix_reduce.in: Ditto.
+ * collectives/upc_coll_reduce.in: Ditto.
+ * portals4/gcc-upc-lib.in: New.
+ * portals4/gupcr_access.c: New.
+ * portals4/gupcr_access.h: New.
+ * portals4/gupcr_addr.c: New.
+ * portals4/gupcr_alloc.h: New.
+ * portals4/gupcr_alloc.upc: New.
+ * portals4/gupcr_barrier.c: New.
+ * portals4/gupcr_barrier.h: New.
+ * portals4/gupcr_broadcast.c: New.
+ * portals4/gupcr_broadcast.h: New.
+ * portals4/gupcr_clock.c: New.
+ * portals4/gupcr_coll_broadcast.upc: New. Collectives support
+ that uses portals4 collective operations.
+ * portals4/gupcr_coll_init.upc: New. Ditto.
+ * portals4/gupcr_coll_reduce.in: New. Ditto.
+ * portals4/gupcr_coll_reduce.upc: New. Ditto.
+ * portals4/gupcr_coll_sup.c: New. Ditto.
+ * portals4/gupcr_coll_sup.h: New. Ditto.
+ * portals4/upc_coll.h: New. Ditto.
+ * portals4/gupcr_config.h: New.
+ * portals4/gupcr_defs.h: New.
+ * portals4/gupcr_env.c: New.
+ * portals4/gupcr_gmem.c: New.
+ * portals4/gupcr_gmem.h: New.
+ * portals4/gupcr_lib.h: New.
+ * portals4/gupcr_lock_sup.c: New.
+ * portals4/gupcr_lock_sup.h: New.
+ * portals4/gupcr_lock.upc: New.
+ * portals4/gupcr_main.c: New.
+ * portals4/gupcr_mem.c: New.
+ * portals4/gupcr_node.c: New.
+ * portals4/gupcr_node.h: New.
+ * portals4/gupcr_node_mem_mmap.c: New.
+ * portals4/gupcr_node_mem_posix.c: New.
+ * portals4/gupcr_pgm_info.c: New.
+ * portals4/gupcr_portals.c: New.
+ * portals4/gupcr_portals.h: New.
+ * portals4/gupcr_pts.h: New.
+ * portals4/gupcr_runtime.c: New.
+ * portals4/gupcr_runtime.h: New.
+ * portals4/gupcr_shutdown.c: New.
+ * portals4/gupcr_shutdown.h: New.
+ * portals4/gupcr_slock.h: New.
+ * portals4/gupcr_slock.upc: New.
+ * portals4/gupcr_sup.h: New.
+ * portals4/gupcr_sync.h: New.
+ * portals4/gupcr_tick.c: New.
+ * portals4/gupcr_utils.c: New.
+ * portals4/gupcr_utils.h: New.
+ * testsuite/lib/libgupc-dg.exp: Build 'yod' command line
+ when running tests with the portals4 based UPC runtime.
+ * testsuite/lib/libgupc.exp: Add 'yod' switches
+ when running tests with the portals4 based UPC runtime.
+
+2012-10-16 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add MCS lock implementation - fix for some 32 bit targets.
+ * Makefile.am (UPC_RUNTIME_SRC): Add upc_lock_sup.c file.
+ * Makefile.in: Regenerate.
+ * smp/upc_lock_sup.c: New. Provide 8 byte CSWAP for targets
+ that don't have it (PowerPC).
+
+2012-10-15 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add MCS lock implementation.
+ * configure.ac: Add max number of locks held by a thread.
+ * configure: Regenerate.
+ * Makefile.am (UPC_RUNTIME_SRC): Add lock related new files.
+ Removed upc_lock.c.
+ * Makefile.in: Regenerate.
+ * config.h.in: Regenerate.
+ * smp/upc_defs.h: Remove definition of upc_lock_t (new
+ implementation has more fields that are lock implementation
+ specific). Remove alloc lock from the upc_info_p as UPC lock
+ is used to protect alloc routines.
+ * smp/upc_lock.c: Delete.
+ * smp/upc_lock.h: Add prototype for lock init routine.
+ * smp/upc_lock_sup.h: MCS lock support routines for
+ signaling, swap, and compare/swap.
+ * smp/upc_main.c (__upc_per_thread_init): Call lock init.
+ (GUPCR_START): Remove init of alloc lock.
+ * smp/upc_lock.upc: New. New MCS lock implementation.
+
+2012-10-03 Gary Funck <gary@intrepid.com>
+
+ * gen-inline-libgupc.pl: Add logic to check for //begin
+ directives with no matching end.
+
+2012-10-02 nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Check for backtrace additional libraries only
+ if backtrace is enabled.
+ * configure: Regenerate.
+ * smp/upc_backtrace.c (__upc_backtrace): Change default trace
+ file to 'backtrace.THREAD-ID'.
+ (__upc_backtrace_init): Install backtrace signal handler only
+ if backtrace is enabled for faults.
+ (__upc_fault_handler): Do not announce signals, just restore
+ signals, print backtrace, and return. This causes a signal to
+ be taken again, but this time monitor thread is informed.
+ (__upc_fatal_backtrace): No need to check env variable as signal
+ handler is conditionally installed.
+
+2012-09-26 Gary Funck <gary@intrepid.com>
+
+ * collectives/upc_coll_sort.upc: Remove reference to
+ deprecated upc_local_alloc function.
+ * configure.ac: Revert - do not restore saved LIBS value
+ when checking for librt.
+ * configure: Re-generate.
+ * include/upc.h (upc_all_free, upc_all_freeg, upc_all_lock_free,
+ upc_all_lock_freeg): New. Define collective de-allocation functions.
+ (upc_local_allocg, upc_local_alloc): Add "deprecated" attribute.
+ * include/upc_tick.h: New. Define wall/clock timer library functions.
+ * Makefile.am (include/upc_tick.h, smp/upc_tick.c): New.
+ * Makefile.in: Re-generate.
+ * smp/upc_allocg.upc (upc_all_freeg): New.
+ * smp/upc_alloc.upc (upc_local_alloc): Delete.
+ (upc_all_free): New.
+ * smp/upc_config.h: Include time-related system header files.
+ * smp/upc_libg.c (upc_all_lock_freeg): New.
+ * smp/upc_lib.h (upc_local_alloc): Delete prototype.
+ (upc_all_free, upc_all_lock_free): New prototype.
+ (upc_tick_t): New typedef.
+ (upc_ticks_now, upc_ticks_to_ns): New prototype.
+ * smp/upc_lock.c (upc_all_lock_free): New.
+ * smp/upc_tick.c: New.
+
+2012-09-20 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_main.c (__upc_monitor_threads): Install
+ SIGTERM handler for the monitor thread. Use process
+ group (instead of PID) for killpg(). Announce child
+ KILL signal if upc global exit is not underway.
+ (__upc_sigterm_handler): New. Terminate the program on
+ SIGTERM to the monitor thread.
+
+2012-09-04 Nenad Vukicevic <nenad@intrepid.com>
+
+ Move MPIR related variables/functions into a separate file.
+ * Makefile.am (UPC_RUNTIME_SRC): Add upc_debug.c
+ * Makefile.in: Regenerate.
+ * smp/upc_main.c: Move MPIR specific variables into upc_debug.c.
+ (MPIR_Breakpoint): Delete. Move into upc_debug.c.
+ (MPIR_i_am_starter): Delete. Move into upc_debug.c.
+ (MPIR_ignore_queues): Delete. Move into upc_debug.c.
+ (MPIR_force_to_main): Delete. Move into upc_debug.c.
+ * smp/upc_debug.c: New. All MPIR related variables and procedures
+ are in this file now.
+
+2012-09-04 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add backtrace logging into files.
+ * upc_backtrace.h (GUPCR_BACKTRACE_FILE_ENV): New. File prefix
+ for backtrace log file.
+ * upc_backtrace.c (__upc_backtrace): Save backtrace logs into the
+ file if environment variable UPC_BACKTRACEFILE is defined. Do not
+ show traces above upc_main.
+ (__upc_backtrace_thread_map): Rename to __upc_backtrace_monitor.
+ (__upc_backtrace_monitor): If logging into files is specified, monitor
+ thread sends backtrace signal to all UPC threads.
+
+2012-08-30 Nenad Vukicevic <nenad@intrepid.com>
+
+ * upc_defs.h (upc_info_struct): Added host name and
+ flag for MPIR partial attach support.
+ * upc_main.c: Add MPIR_partial_attach_ok support.
+ (__upc_init): Set start flag for all threads based on
+ the debugging mode. Initialize hostname in the info
+ structure.
+ (__upc_run_this_thread): Wait on start flag if necessary.
+ (__upc_run_threads): Release threads after MPIR_Breakpoint().
+ Set host_name and executable_name in the info structure.
+ (__upc_print_help_and_exit): Removed help for unused flag
+ -fupc-pthreads-per-process-N.
+
+2012-08-29 Nenad Vukicevic <nenad@intrepid.com>
+
+ * upc_backtrace.h (__upc_backtrace_restore_handlers): New.
+ Prototype.
+ * upc_backtrace.c (__upc_backtrace_restore_handlers): New.
+ Restore default signal handlers.
+ (__upc_backtrace_init): Install handlers for additional signals:
+ SIGABRT, SIGILL, SIGFPE, and SIGBUS.
+ (__upc_fault_handlers): Add handling of additional signals.
+ * upc_main.c (__upc_fatal): Restore default handlers before calling
+ backtrace and abort.
+
+2012-08-28 Nenad Vukicevic <nenad@intrepid.com>
+
+ * include/gcc-upc.h (upc_fence): Delete. Replaced with the
+ library specific definition in gcc-upc-lib.h
+ (__BERKELEY_UPC_RUNTIME__): Delete. Remove conditional compile
+ for upc_fence and upc_poll if compiled with the Berkeley
+ runtime as they are already provided in gcc-upc-lib.h.
+ * smp/gcc-upc-lib.in (upc_fence): Add.
+ * smp/upc_access.h (__upc_fence): Add prototype.
+ * smp/upc_access.c (__upc_fence): Add SMP upc_fence implementation.
+
+2012-08-22 Nenad Vukicevic <nenad@intrepid.com>
+
+ * upc_defs.h: Additional clean-up related to the new barrier
+ implementation.
+ (upc_barrier_id_t): Delete.
+ (upc_barrier_info_t): Delete.
+ (upc_barrier_info_p): Delete.
+ (upc_info_t): Remove barrier from the upc info structure.
+ (__upc_barrier_id): New.
+ * upc_barrier.upc (__upc_barrier_id): Make it global.
+ * upc_backtrace.c (__upc_backtrace): Print barrier ID from the
+ new implementation.
+
+2012-08-15 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add tree based barrier implementation for SMP-based UPC run-time.
+ * configure.ac: Add configuration for the barrier tree fanout.
+ Add checking for __sync_fetch_and_add built-in function.
+ * configure: Re-generate.
+ * config.h.in: Re-generate.
+ * Makefile.am (AM_UPCFLAGS): Added -fno-strict-aliasing
+ to prevent alias warning when converting from pointer-to-shared
+ into its internal representation.
+ (UPC_RUNTIME_SRC): Remove upc_barrier.c.
+ (UPC_RUNTIME_SRC): Add upc_barrier.upc.
+ * Makefile.in: Re-generate.
+ * smp/gcc-upc-lib.in: Add inclusion of atomic/spin_until code when
+ compiling inside the target library. Replace lib_atomic_cas name
+ to lib_atomic to cover more then CAS atomic.
+ * smp/upc_barrier.c: Delete.
+ * smp/upc_barrier.upc: Add. A new tree based barrier implementation.
+ * smp/upc_config.h (INT_MIN): Make it available for inlined code
+ under int_min_max.
+ * smp/upc_main.c (__upc_per_thread_init): Add call to initialize
+ barrier implementation.
+ * smp/upc_sync.h (__upc_atomic_cas): Move from upc_sysdep.h.
+ (__upc_sync_fetch_and_add): New.
+ (__upc_spin_until): Move from upc_sysdep.h.
+ (__upc_num_cpus): Move from upc_sysdep.h.
+ * smp/upc_sysdep.h (__upc_atomic_cas): Delete.
+ (__upc_spin_until): Delete.
+ (__upc_num_cpus): Delete.
+ * smp/upc_sup.h (__upc_barrier_init): Add external definition.
+ (__upc_map_to_local): New. Map shared pointer into local address.
+
+2012-07-31 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Added help description for --with-bfd,
+ --with-bfd-include, and --with-bfd-lib.
+ * configure: Re-generate.
+
+2012-07-31 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Remove extra white space at end-of-line.
+ * Makefile.am: Ditto.
+ * Makefile.in: Re-generate.
+
+2012-07-31 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Improve diagnostics for options
+ that control UPC stack backtrace support.
+ * configure: Re-generate.
+
+2012-07-31 Gary Funck <gary@intrepid.com>
+
+ * configure.ac: Shorten long lines. Improve the
+ consistency of first letter capitalization and
+ remove periods from all except AC_DEFINE's.
+ * acinclude.m4: Ditto.
+ * configure: Re-generate.
+ * config.h.in: Re-generate.
+
+2012-07-14 Gary Funck <gary@intrepid.com>
+
+ * acinclude.m4 (LIBGUPC_CHECK_SYNC_BUILTINS): Remove
+ set-but-not-used variable in the check for builtin sync. ops.
+ * configure: Re-generate.
+
+2012-07-03 Gary Funck <gary@intrepid.com>
+
+ * libgupc.texi: Include gpl_v3.texi instead of gpl.texi.
+
+2012-06-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * Makefile.am: Removed indented spaces on if/endif.
+
+2012-06-08 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add backtrace support for UPC SMP run-time.
+ * configure.ac: Added UPC backtrace configuration
+ options (--enable-upc-backtrace, --enable-upc-backtrace-gdb,
+ --with-upc-backtrace-gdb, --enable-upc-backtrace-signal,
+ --with_upc-backtrace-signal). Fix the check for 'gettime' to
+ save/restore libraries on the check line.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * Makefile.am (AM_CPPFLAGS): Add include path for bfd.h.
+ (UPC_RUNTIME_SRC): Add new source files for backtrace.
+ (UPC_BACKTRACE_SUP): New.
+ * Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+ * configure.tgt (LIBS): Added options for linking with libbfd,
+ libdl. Added -export-dynamic if -rdynamic option is supported.
+ * smp/upc_backtrace.h: New. Backtrace API.
+ * smp/upc_backtrace.c: New. Backtrace support functions.
+ * smp/upc_backtrace_sup.c: New. Source file/line search support
+ functions.
+ * smp/upc_main.c (__upc_fatal): Added call to backtrace.
+ (__upc_monitor_threads): Added code to continue monitoring threads
+ if the wait() was interrupted by a signal (e.g. backtrace request
+ signal).
+ * smp/upc_sysdep.h (__upc_create_temp_file): Add prototype.
+ * smp/upc_sysdep.c (__upc_create_temp_file): Made public.
+
+2012-05-19 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_main.c (__upc_per_thread_init):
+ Change the declaration of GUPCR_INIT_ARRAY_START
+ and GUPCR_INIT_ARRAY_END so that the optimizer does
+ not conclude that the per-thread initialization procedure table
+ has only a single element.
+
+2012-05-04 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Check for gupc driver only.
+ Use gupc driver instead of xgupc. Add -fno-upc-pre-include
+ on the command line to prevent inclusion of gcc-upc.h
+ * configure: Regenerate.
+ * Makefile.am (AM_CPPFLAGS): Add -isystem option to
+ allow compiler to find upc.h.
+ * Makefile.in: Regenerate.
+ * include/upc.h (upc_global_lock_alloc): Fix prototype.
+ (upc_all_lock_alloc): Fix prototype.
+ * include/upc_collective.h (upc_coll_init): Fix prototype.
+ * testsuite/lib/libgupc.exp: Added appropriate options to
+ compile the tests with gupc from the build tree.
+
+2012-05-02 Nenad Vukicevic <nenad@intrepid.com>
+
+ Add memory fence to the low level lock support routines
+ that are called for multiple places in the run-time.
+ * smp/upc_sysdep.c (__upc_acquire_lock): Add a memory fence
+ once lock is acquired.
+ (__upc_try_acquire_lock): Add a memory fence is lock is
+ acquired.
+ (__upc_release_lock): Add a memory fence before releasing
+ the lock.
+ * smp/upc_lock.c (upc_lock): Remove memory fence.
+ (upc_lock_attempt): Ditto.
+ (upc_unlock): Ditto.
+
+2012-04-30 Nenad Vukicevic <nenad@intrepid.com>
+
+ * testsuite/libgupc.upc/upc.exp: Use '-fupc-threads'
+ option instead of '-n' as the new GUPC driver does not
+ support it.
+
+2012-04-16 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_lock.c (upc_lock): Adding a fence as per the
+ language specification. This also forces the processor to
+ discard all speculative memory fetches.
+ (upc_lock_attempt): Ditto.
+ (upc_ulock): Ditto.
+
+2012-04-13 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_sync.h (GUPCR_WRITE_FENCE): Change write fence
+ for PPC processors to use light weight sync instruction.
+ * smp/upc_sysdep.c (__upc_atomic_get_bit): Introduce a read barrier
+ to force processor to discard all speculative memory fetches.
+
+2012-03-26 Nenad Vukicevic <nenad@intrepid.com>
+
+ * testsuite/lib/libgupc.exp: Added fortran-modules.exp
+ for explicit load from the gcc testsuite directory. It is
+ a required file for gcc-dg.exp.
+
+2012-02-02 Nenad Vukicevic <nenad@intrepid.com>
+
+ * Makefile.am: Prevent install from adding suffix to the
+ link script (gupc.ld).
+ (toolexeclib_SCRIPTS) remove upc link script.
+ (nodist_toolexeclib_HEADERS) add upc link script.
+ * Makefile: Regenerate.
+ * configure: Regenerate.
+
+2012-01-24 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_pgm_info.c (__upc_validate_pgm_info): Fix the error
+ where the very first entry on the compiled thread info list is
+ not checked.
+
+2012-01-09 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_pgm_info.c (__upc_validate_pgm_info): Ignore intervening
+ null bytes in the UPC program information section, to ensure that
+ all configuration information strings are processed. Allow
+ static THREADS compilations to be mixed with dynamic THREADS
+ compilations as long as the static THREADS values all match.
+
+2011-12-19 Nenad Vukicevic <nenad@intrepid.com>
+
+ Improve handling of shared pointer vaddr field. Make sure
+ that upc_addrfield() always returns an offset of the shared variable
+ from the beginning of the shared section.
+ * smp/upc_pts.h (GUPCR_PTS_VADDR): Macro definition returns the
+ offset of the shared variable in the shared section.
+ (GUPCR_PTS_SET_VADDR): Macro definition accepts the offset of the
+ shared variable in the shared section and sets the value of the
+ vaddr: offset for packed pts rep, address for struct pts rep.
+ * smp/upc_main.c (__upc_init): Adjust the argument for setting of
+ pointer-to-shared vaddr field.
+ * smp/upc_alloc.upc: Adjust the argument for building a
+ pointer-to-shared to the offset of the shared variable in the
+ shared section.
+
+2011-12-17 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Remove erroneous check for enable_shared. Build
+ libgupc only as a static library as shared data sections from
+ all the UPC compilations must be combined into a single
+ contiguous section.
+ * configure.tgt: Always include the necessary libraries required by
+ libgupc on the command line. This is necessary as we don't build
+ libgupc as a dynamic link library.
+ * configure: Re-generate.
+
+2011-11-19 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_sync.h (GUPCR_WRITE_FENCE, GUPCR_READ_FENCE):
+ For powerpc, also check __PPC__ pre-processor definition,
+ as 'PPC' is apparently not defined on 64-bit PPC targets.
+ * smp/upc_sysdep.c (__upc_atomic_cas): Implement as external
+ procedure only if builtin compare-and-swap is unavailable.
+ * smp/upc_sysdep.h (__upc_atomic_cas): Ditto.
+
+2011-11-09 Nenad Vukicevic <nenad@intrepid.com>
+
+ * config/default/upc-crtstuff.mak (ALL_CRT_CFLAGS): Remove
+ $(INCLUDES) as it might contain relative include paths that
+ are not correct for current build directory.
+ (GCC_SRCDIR_INC): Rename from GCC_SRCDIR_CONF_INC. Added necessary
+ include paths to build in the current libgupc build directory.
+
+2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_sup.h (__upc_sptr_to_addr): Fixed the warning where
+ 'void *' type was used in arithmetic.
+ * smp/upc_mem.h (__upc_memget): Ditto.
+ * (__upc_memput): Ditto.
+
+2011-10-27 Nenad Vukicevic <nenad@intrepid.com>
+
+ * upc-crtstuff.c: Remove unnecessary includes that caused
+ multiple defined warnings.
+
+2011-10-26 Gary Funck <gary@intrepid.com>
+
+ Rename "GCC/UPC" to "GNU UPC", "UPC" to "GUPC", and
+ "libupc" to "libgupc".
+ * top-level/libgupc: rename from libupc.
+ * configure.ac: Change "GCC UPC" references to "GNU UPC".
+ Change "libupc" references to "libgupc". Change "xupc" references
+ to "xgupc". Change "upc-cmd" references to "gupc".
+ Change "gen-gccupc-ld-script.pl" references to "gen-upc-ld-script.pl".
+ Change "libupc.spec" references to "libgupc.spec".
+ * configure: Re-generate.
+ * Makefile.am: Change "libupc" references to "libgupc".
+ * Makefile.in: Re-generate.
+ * config.h.in: Adjust for rename of libupc to libgupc.
+ * configure.tgt: Ditto.
+ * acinclude.m4: Ditto.
+ * gen-inline-libgupc.pl: Re-name from gen-gccupc-inline-lib.pl
+ Change "GCC/UPC" to "GUPC".
+ * gen-upc-ld-script.pl: Re-name from gen-gccupc-ld-script.pl.
+ * libgupc.texi: Re-name from libupc.texi.
+ * libgupc.spec.in: Re-name from libupc.spec.in.
+ * smp/upc_pgm_info.c (__upc_validate_pgm_info): Change "GCC/UPC"
+ references to "GUPC".
+ * smp/upc_main.c (__upc_run_threads): Ditto.
+ * smp/upc_gasp.c: Ditto.
+ * smp/upc_sysdep.h: Ditto.
+ * testsuite/lib/libgupc-dg.exp: Re-name form libupc-dg.exp.
+ * testsuite/lib/libgupc.exp: Re-name from libupc.a.
+ * testsuite/libgupc.upc: Re-name from libupc.upc.
+
+2011-10-18 Nenad Vukicevic <nenad@intrepid.com>
+
+ Fix support for large file support on 32-bit machines.
+
+ * smp/upc_config.h: Move inclusion of 'config.h' to the top
+ of the include list. This allows all system include files
+ to see definition of _FILE_OFFSET_BITS=64 that enables large
+ file support.
+
+2011-10-02 Gary Funck <gary@intrepid.com>
+
+ Move the collectives library sources into their own directory
+ and add support for additional runtime implementation models.
+ * collectives/gen-upc-coll-reduce.pl: Moved from 'smp' directory.
+ * collectives/upc_coll_broadcast.upc: Ditto.
+ * collectives/upc_coll_err.upc: Ditto.
+ * collectives/upc_coll_exchange.upc: Ditto.
+ * collectives/upc_coll_gather_all.upc: Ditto.
+ * collectives/upc_coll_gather.upc: Ditto.
+ * collectives/upc_coll.h: Ditto.
+ * collectives/upc_coll_init.upc: Ditto.
+ * collectives/upc_coll_permute.upc: Ditto.
+ * collectives/upc_coll_prefix_reduce.in: Ditto.
+ * collectives/upc_coll_prefix_reduce.upc: Ditto.
+ * collectives/upc_coll_readme.txt: Ditto.
+ * collectives/upc_coll_reduce.in: Ditto.
+ * collectives/upc_coll_reduce.upc: Ditto.
+ * collectives/upc_coll_scatter.upc: Ditto.
+ * collectives/upc_coll_sort.upc: Ditto.
+ * smp/gcc-upc-lib.in: Moved from 'include' directory.
+ * gen-gccupc-inline-lib.pl: Moved from 'smp' directory.
+ * gen-gccupc-ld-script.pl: Ditto.
+ * configure.ac: Implement support for additional runtime
+ models. (Currently, only 'smp' is supported.)
+ Build the collectives library from sources in the
+ collectives directory.
+ * Makefile.am: Likewise.
+ * configure: Re-generate.
+ * config.h.in: Re-generate.
+ * Makefile.in: Re-generate.
+
+2011-09-30 Gary Funck <gary@intrepid.com>
+
+ Generalize collectives library to support indefinite block sizes.
+ * smp/upc_coll_prefix_reduce.in: If 'blk_size' is zero, then set it
+ to 'nelems'.
+ * smp/upc_coll_reduce.in: Ditto.
+ * smp/upc_coll_prefix_reduce.upc: Re-generate.
+ * smp/upc_coll_reduce.upc: Re-generate.
+
+2011-09-19 Gary Funck <gary@intrepid.com>
+
+ * libupc/smp/upc_access.c (__getstf2, __getsxf2):
+ Define temporary as "long double" rather than "double" to avoid
+ loss of precision.
+ * testsuite/libupc.upc/intrepid/test29.upc: Improve the test of
+ "long double" by adding checks that required accuracy
+ exceeds the accuracy of "double".
+
+2011-09-02 Gary Funck <gary@intrepid.com>
+
+ Align UPC pointers-to-shared, only if the target enforces
+ strict alignment.
+ * configure.ac: Derive GUPCR_PTS_ALIGN from __UPC_PTS_ALIGN__,
+ if present. Define GUPCR_PTS_ALIGN as a config.h variable.
+ * smp/upc_pts.h (GUPCR_PTS_ALIGN): Use only if defined.
+ * config.h.in: Re-generate.
+ * configure: Re-generate.
+
+2011-08-23 Nenad Vukicevic <nenad@intrepid.com>
+
+ * configure.ac: Enable detection of large file support on
+ 32-bit machines.
+ * configure: Re-generate.
+ * config.h.in: Added define for large file support on 32-bit
+ machines.
+ * smp/upc_config.h: Limit number of VM pages to the number
+ of configured VADDR bits.
+ * smp/upc_sup.h: Prototype change.
+ * smp/upc_vm.c (__upc_vm_alloc): Return an error if no
+ more virtual pages can be allocated.
+ (__upc_vm_alloc): Abort if initial number of VM pages cannot
+ be allocated.
+ (__upc_vm_get_cur_page_alloc): Check for error before NUMA
+ memory region mapping.
+ * smp/upc_alloc.upc (__upc_global_heap_alloc): Return NULL pointer
+ if VM pages cannot be allocated.
+ (__upc_local_alloc): Return NULL pointer if memory is not available.
+
+2011-08-16 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_barrier.c (__upc_notify, __upc_wait):
+ Improve error messages.
+
+2011-08-10 Gary Funck <gary@intrepid.com>
+
+ Define UPCFLAGS so that it is available in the Makefile,
+ and assign CFLAGS as its default value.
+
+ * configure.ac (UPCFLAGS): Default to CFLAGS if not set.
+ (UPCFLAGS): Make it an AC_SUBST() so that it can
+ be referenced in the Makefile.
+ * Makefile.am (AM_UPCFLAGS): Make sure that it is update
+ the same as AM_CFLAGS.
+ * configure, Makefile.in: Re-generate.
+
+2011-06-06 Nenad Vukicevic <nenad@intrepid.com>
+
+ * smp/upc_config.h: Change default scheduling policy.
+ Allow the kernel to schedule UPC threads on its own.
+
+2011-05-17 Gary Funck <gary@intrepid.com>
+
+ * configure.ac (GUPCR_PTS_VADDR_FIELD,
+ Delete unused definitions.
+ configure: Regenerate.
+
+ * smp/upc_pts.h (GUPCR_PTS_THREAD_FIELD,
+ GUPCR_PTS_PHASE_FIELD): Delete unused definitions
+ and references.
+
+ * config.h.in (GUPCR_PTS_THREAD_FIELD,
+ GUPCR_PTS_PHASE_FIELD): Delete unused definitions
+ and references.
+
+ * upc-crtstuff.c: Delete include of "upc-conf.h".
+
+2011-05-03 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_alloc.upc (__upc_global_heap_alloc,
+ upc_free): Remove extraneous FIXME/TODO comments.
+
+2011-05-01 Gary Funck <gary@intrepid.com>
+
+ * configure.ac (upc_crtstuff_mak): New AC_SUBST variable.
+ * configure.tgt (upc_crtstuff_mak): Find upc-crtstuff.mak
+ on $config_path.
+ * Makefile.am (upc_crtstuff_mak): Set make variable to value
+ of configured AC_SUBST value. This eliminates an automake
+ error caused by a nested 'if' statement.
+ * configure, Makefile.in, testsuite/Makefile.in: Regenerate.
+
+2011-04-13 Gary Funck <gary@intrepid.com>
+
+ * testsuite/lib/libupc.exp (ALWAYS_CFLAGS):
+ Remove -lupc from required default switches.
+ The appropriate library is selected by the
+ libupc.spec file.
+
+2011-03-22 Gary Funck <gary@intrepid.com>
+
+ * configure.tgt: Move linker switches into libupc.spec.
+
+2011-03-20 Gary Funck <gary@intrepid.com>
+
+ Place error message strings directly into the calls to
+ __upc_fatal(), rather than listing them separately
+ as #define's. The intent of this change is to make
+ it easier to internationalize the message text
+ using standard tools.
+
+ * include/gcc-upc-lib.in: Remove include of lib_config_msgs
+ named code segment.
+
+ * smp/upc_config.h: Remove #define's used to provide named
+ references to error messages.
+
+ * smp/upc_lock.c, smp/upc_numa.c, smp/upc_access.c,
+ smp/upc_vm.c, smp/upc_main.c, smp/upc_alloc.upc,
+ smp/upc_sysdep.c, smp/upc_affinity.c, smp/upc_addr.c,
+ smp/upc_mem.h, smp/upc_barrier.c: Replace named references
+ with actual error message text strings.
+
+2011-03-20 Gary Funck <gary@intrepid.com>
+
+ Move UPC start files, end files, and linker specs.
+ into libupc. This reduces the impact on common GCC
+ configuration files, and ensures that these UPC-specific
+ components are only built when the UPC language dialect is built.
+
+ * upc-crtstuff.c: New file. Moved from gcc/upc/upc-crtstuff.c.
+
+ * config/darwin/upc-crt-config.h: New file. Move defines for
+ UPC-related section begins/ends from gcc/config/darwin.h to here.
+
+ * config/default/upc-crt-config.h: New file. Move defines for
+ UPC-related section begins/ends from gcc/config/upc-conf.h to here.
+
+ * config/default/upc-crtstuff.mak: New file. Default makefile fragment for
+ building the upc-crtbegin and upc-crtend object files.
+ This logic was moved from libgcc/Makefile.in to here.
+
+ * config.h.in: Regenerate with autoheader. Rename HAVE_GUM_DEBUG
+ to GUPCR_HAVE_GUM_DEBUG. Add define for HAVE_UPC_LINK_SCRIPT.
+
+ * configure.ac, configure: Include new configure.tgt script
+ towards the end of the logic that configures the smp runtime.
+ Define substitutions for 'config_path', 'XCFLAGS',
+ 'XLDFLAGS', 'link_upc_spec', 'upc_crtbegin_spec',
+ 'upc_crtend_spec', 'upc_crtstuff_objs'. Add LIBUPC_CRTSTUFF
+ automake conditional. Fix copyright date in AM_TOP() comment.
+ Define upc-crtbegin.spec libupc.spec upc-crtend.spec as
+ autoconf generated config. files. Regenerate 'configure'.
+
+ * configure.tgt: New. Target-specific configuration logic.
+ Defines 'config_path', 'upc_crtstuff', 'upc_crtbegin_spec',
+ 'upc_crtend_spec', 'upc_crtstuff_objs' variables; these are used
+ to control the build of the UPC-related begin/end files
+ and associated target-specific compiler specification files.
+
+ * libupc.spec.in, upc-crtbegin.spec.in, upc-crtend.spec.in: New.
+ Define target-specific compiler specifications for linking
+ and for inclusion of UPC-related start/end object files
+ when a UPC program is linked. These files are used
+ to create resulting .spec files that are included via
+ GCC's link spec. when a UPC program is linked.
+
+ * Makefile.am: Add rules to build and install upc-crtbegin.spec,
+ libupc.spec, and upc-crtend.spec from there .in files.
+ Add rules to build the UPC-specific start/end files if the
+ automake conditional LIBUPC_CRTSTUFF is enabled.
+ Fix references to make variables $(UPC_COLL_PREFIX_REDUCE_UPC)
+ and $(UPC_COLL_REDUCE_UPC) in MAINTAINER_MODE block.
+
+ * Makefile.in, testsuite/Makefile.in: Regenerate with automake.
+
+ * smp/Make-defs, smp/Make-deps, smp/Make-rules: Remove.
+ These Makefile fragments have not been used since libupc
+ was re-worked to use automake (when the gupc branch
+ was first checked in).
+
+ * smp/upc_config.h: Move the definitions of GUPCR_INIT_ARRAY_START
+ and GUPCR_INIT_ARRAY_END from smp/upc_main.c to here.
+
+ * smp/upc_main.c: Rename HAVE_GUM_DEBUG to GUPCR_HAVE_GUM_DEBUG.
+ Move the definitions of GUPCR_INIT_ARRAY_START and
+ GUPCR_INIT_ARRAY_END to smp/upc_config.h.
+
+2011-02-22 Gary Funck <gary@intrepid.com>
+
+ * include/gcc-upc.h (barrier, barrier_notify, barrier_wait,
+ forall, fence): Remove #define's that renamed these deprecated
+ UPC keywords into their equivalents in the current UPC
+ language specification.
+
+2011-02-08 Gary Funck <gary@intrepid.com>
+
+ * acinclude.m4, configure.ac, include/gasp.h,
+ include/gasp_upc.h, include/gcc-upc.h, include/gcc-upc-lib.in,
+ include/pupc.h, include/upc_collective.h, include/upc.h,
+ include/upc_relaxed.h, include/upc_strict.h, libupc.texi,
+ smp/upc_access.c, smp/upc_accessg.c, smp/upc_access.h,
+ smp/upc_addr.c, smp/upc_affinity.c, smp/upc_affinity.h,
+ smp/upc_affinity_stub.c, smp/upc_allocg.upc,
+ smp/upc_alloc.upc, smp/upc_barrier.c, smp/upc_config.h,
+ smp/upc_debug.h, smp/upc_defs.h, smp/upc_gasp.c, smp/upc_gum.c,
+ smp/upc_libg.c, smp/upc_lib.h, smp/upc_lock.c, smp/upc_main.c,
+ smp/upc_mem.c, smp/upc_mem.h, smp/upc_numa.c, smp/upc_numa.h,
+ smp/upc_numa_stub.c, smp/upc_pgm_info.c, smp/upc_pts.h,
+ smp/upc_pupc.c, smp/upc_pupc.h, smp/upc_sup.h, smp/upc_sync.h,
+ smp/upc_sysdep.c, smp/upc_sysdep.h, smp/upc_vm.c:
+ Update copyright notices.
+
+2010-10-18 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_alloc.upc: upc_alloc.upc: remove pointer arithmetic on
+ (shared void *) types.
+
+ Now that GCC/UPC prohibits arithmetic on "(shared void *)" types,
+ re-work the logic in upc_alloc.upc to avoid operating directly on
+ "(shared void *)" type.
+
+2010-10-16 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_main.c: Fix comment format.
+
+2010-10-16 Gary Funck <gary@intrepid.com>
+
+ * smp/: upc_access.c, upc_access.h, upc_accessg.c: Implement fixes
+ for SGI/IRIX/MIPS port.
+
+ The gcc/Makefile.in rules for install-plugin had to be re-written to
+ break up a long list of header files that exceeded the command line
+ limitation imposed by Irix.
+
+ Access functions for TFmode types had to be implemented.
+ Apparently, this is the mode used for the SGI/MIPS port to represent
+ "long float".
+
+ See also: gcc/Makefile.in libupc/smp/upc_access.c
+ libupc/smp/upc_access.h libupc/smp/upc_accessg.c
+
+2010-10-16 Nenad Vukicevic <nenad@intrepid.com>
+
+ * include/gcc-upc.h, smp/upc_main.c: Fix rand() implementation for
+ pthreads run-time.
+
+ For the pthreads implementation we keep a per-thread random seed
+ number. This way, calls to rand() function will return the same
+ value on each thread.
+
+ rand() and srand() functions are redefined as __upc_random and
+ __upc_srandom.
+
+2010-10-10 Gary Funck <gary@intrepid.com>
+
+ * include/upc_collective.h, smp/gen-upc-coll-reduce.pl,
+ smp/upc_coll_prefix_reduce.upc, smp/upc_coll_reduce.upc:
+ Implement collectives on "long double" objects.
+
+ See also: libupc/include/upc_collective.h
+ libupc/smp/gen-upc-coll-reduce.pl
+ libupc/smp/upc_coll_prefix_reduce.upc libupc/smp/upc_coll_reduce.upc
+
+2010-10-09 Gary Funck <gary@intrepid.com>
+
+ * smp/: upc_access.c, upc_access.h, upc_accessg.c: Implement shared
+ access to "long float" data type.
+
+ See also: libupc/smp/upc_access.c libupc/smp/upc_access.h
+ libupc/smp/upc_accessg.c
+
+2010-09-24 Gary Funck <gary@intrepid.com>
+
+ * smp/upc_main.c: Fix bug: Failure to initialize per-thread
+ static variables that refer to shared addresses.
+
+ The shared data initialization routine created by the compiler needs
+ to be called on each thread, because in some cases it will
+ initialize per thread data. At the moment, the compiler does not
+ generate code that will differentiate between initialization code
+ that should only occur on thread 0, so some additional work may get
+ done. In the future, that aspect of initialization will be
+ corrected.
+
+2010-09-22 Gary Funck <gary@intrepid.com>
+
+ * include/gcc-upc-lib.in, include/upc.h, smp/upc_main.c:
+ Fix bug: Nested upc_forall() semantics are not implemented
+
+ The checkforall test in the Berkeley harness test suite indicated
+ that GCC/UPC was not properly implementing nested upc_forall
+ semantics. Nested upc_forall statements (both statically or
+ dynamically nested) must implement their affinity clause as if it
+ were "continue"; thus all steps in the loop must execute without
+ regard for affinity. To implement these semantics a global depth
+ counter, __upc_forall_depth, is maintained by the generated code
+ that implements upc_forall.
+
+ See also: gcc/c-parser.c gcc/c-tree.h gcc/stub-upc.c
+ gcc/upc/upc-act.c gcc/upc/upc-act.h libupc/include/gcc-upc-lib.in
+ libupc/include/upc.h libupc/smp/upc_main.c
+
+2010-09-18 Gary Funck <gary@intrepid.com>
+
+ * Makefile.in, config.h.in, configure, configure.ac, include/upc.h,
+ smp/Make-defs, smp/upc_accessg.c, smp/upc_allocg.upc,
+ smp/upc_defs.h, smp/upc_libg.c, smp/upc_main.c, smp/upc_sup.h:
+ Implement -fupc-debug switch.
+
+2010-02-28 Gary Funck <gary@intrepid.com>
+
+ Initial implementation and checkin.
+