[Tcsh] tcsh-6.24.14: patches for Sun/Oracle Solaris 11.4

Nelson H. F. Beebe beebe at math.utah.edu
Fri Nov 29 21:22:33 UTC 2024


I successfully built and validated tcsh-6.24.14 on x86_64 systems
running CentOS 5.11, CentOS 7.9, Ubuntu 20.04, Ubuntu 22.04, and
Ubuntu 24.04, plus CentOS 5.11 on IA-64 (Itanium).

However, there were two problems on Sun/Oracle Solaris 11.4
that required code patches, for the following reasons:

(1) tc.alloc.c gets a fatal function prototype conflict for
    malloc_usable_size.

(2) In Makefile{,.in}, "env -i" removes PATH from the environment,
    causing "make check" to go into an infinite loop because of
    failure to find dirname, sed, ..., etc.

I think that the proper way to handle (1) is to have configure check
for the existence of a prototype for malloc_usable_size, and then only
if it is missing, have tc.alloc.c declare a prototype.  The
conditionals on __linux__ and __sun__ can then be eliminated, and the
argument of malloc_usable_size can be set to have the expected type.

Here are the two patches; neither should impact any other platform,
and so should be safe to incorporate into the tcsh source tree.

%  diff -c tc.alloc.c.org tc.alloc.c
*** tc.alloc.c.org      2024-11-26 11:31:51.000000000 +0000
--- tc.alloc.c  2024-11-29 14:02:28.598171990 +0000
***************
*** 454,460 ****
   * API, so we cannot use our malloc replacement without providing one.
   * Thanks a lot glibc!
   */
! #ifdef __linux__
  #define M_U_S_CONST
  #else
  #define M_U_S_CONST const
--- 454,460 ----
   * API, so we cannot use our malloc replacement without providing one.
   * Thanks a lot glibc!
   */
! #if  defined(__linux__) || defined(__sun__)
  #define M_U_S_CONST
  #else
  #define M_U_S_CONST const

%  diff -c Makefile.in.org Makefile.in
*** Makefile.in.org     2024-11-26 11:31:51.000000000 +0000
--- Makefile.in 2024-11-29 14:05:25.600994381 +0000
***************
*** 726,731 ****
--- 726,732 ----
  
  check test: atconfig atlocal $(srcdir)/tests/testsuite $(BUILD)
        $(ENVCMD) - \
+               PATH="$(PATH)" \
                TESTSUITEREGEN="$(TESTSUITEREGEN)" \
                USER="$(USER)" \
                LC_ALL=C \

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                                                          -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------


More information about the Tcsh mailing list