Chapter 25. Compiler and Tools

The PCRE library now correctly recognizes non-ASCII printable characters as required by Unicode

When matching a Unicode string with non-ASCII printable characters using the Perl Compatible Regular Expressions (PCRE) library, the library was previously unable to correctly recognize printable non-ASCII characters. A patch has been applied, and the PCRE library now recognizes printable non-ASCII characters in UTF-8 mode. (BZ#1400267)

Applications using Bundler to manage dependencies can now properly load the JSON library

Previously, when Bundler was used to manage Ruby application dependencies, it was sometimes impossible to load the JSON library. Consequently, the application failed with a LoadError. This caused problems especially because Ruby on Rails no longer explicitly specifies dependency on the JSON library. With this update, JSON is always available on the load path, and the described problem no longer occurs. (BZ#1308992)

Git can now be used with HTTP or HTTPS and SSO

Since libcurl version 7.21.7, a new paramater for delegating Kerberos tickets is required because of CVE-2011-2192. Previously, Git did not provide a way to set such a parameter. As a consequence, using Git with Single Sign-On on HTTP or HTTPS connections failed. With this update, Git provides a new http.delegation configuration variable, which corresponds to the cURL --delegation parameter. Users need to set this parameter when delegation of Kerberos tickets is required. (BZ#1369173)

rescan-scsi-bus.sh --luns=1 now scans only LUNs numbered with 1

The sg3_utils package contains utilities that send SCSI commands to devices. In version 1.28-5 and all previous versions of sg3_utils, the rescan-scsi-bus.sh --luns=1 command rescaned only Logical Unit Numbers (LUNs) numbered with 1. After the update to version 1.28-6, rescan-scsi-bus.sh --luns=1 incorrectly rescaned all LUNs. With this update, the underlying source code has been fixed, and rescan-scsi-bus.sh --luns=1 now scans only LUNs numbered with 1. (BZ#1380744)

ps no longer removes prefixes from wait channel names

The ps utility was previously removing the sys_ and do_ prefixes from wait channel (WCHAN) data. This prevented the user from distinguishing functions with names intentionally containing these prefixes in a ps output. The code for prefix removing has been removed, and ps now shows full wait channel names. (BZ#1373246)

tcsh no longer becomes unresponsive when the .history file is located on a network file system

Previously, if the .history file was located on a network file system, such as NFS or Samba, the tcsh command language interpreter sometimes became unresponsive during the login process. A patch has been applied to avoid .history file-locking if .history is located on a network file system, and tcsh no longer becomes unresponsive in the described situation.
Note that having multiple instances of tcsh running can cause .history to become corrupted. To resolve this problem, enable explicit file-locking mechanism by add the lock parameter to the savehist option. For example:
$ cat /etc/csh.cshrc
# csh configuration for all shell invocations.
set savehist = (1024 merge lock)
The lock option must be the third parameter of the savehist option to force tcsh to use file-locking when .history is located on a network file system. Red Hat does not guarantee that using the lock parameter prevents tcsh from becoming unresponsive during the login process. (BZ#1388426)

fcoeadm --target no longer causes fcoeadm to crash

Previously, executing the fcoeadm --target command sometimes caused the fcoeadm utility to terminate unexpectedly with a segmentation fault. With this update, fcoeadm has been modified to ignore sysfs paths for non-FCoE targets, and fcoeadm --target no longer causes fcoeadm to crash. (BZ#1384707)

tar option --directory no longer ignored

Previously, the --directory option of the tar command was ignored when used in combination with the --remove-files option. As a consequence, files in the current working directory were removed instead of the files in the directory specified by the --directory option. To fix this bug, new functions and an attribute that retrieve, store, and act upon the --directory option have been added. As a result, files are now correctly removed from the directory specified by the --directory option. (BZ#1319820)

tar options --xattrs-exclude and --xattrs-include no longer ignored

Previously, the tar command ignored the --xattrs-exclude and --xattrs-include options. To fix this bug, tar has been modified to apply include and exclude masks when fetching extended attributes. As a result, the --xattrs-exclude and --xattrs-include options are no longer ignored. (BZ#1341786)

tar now restores incremental backup correctly

Previously, the tar command did not restore incremental backup correctly. Consequently, a file removed in the incremental backup was not removed when restoring. The bug has been fixed, and tar now restores incremental backup correctly. (BZ#1184697)

The perl-homedir profile scripts now support csh

Previously, the perl-homedir profile scripts were unable to handle the C shell (csh) syntax. Consequently, when the the perl-homedir package was installed and the /etc/sysconfig/perl-homedir file contained the PERL_HOMEDIR=0 line, executing the profile scripts resulted in the following error:
PERL_HOMEDIR=0: Command not found.
This update adds support for the csh syntax, and the described problem no longer occurs. (BZ#1122993)

getaddrinfo no longer accessing uninitialised data

On systems with the nscd daemon enabled, the getaddrinfo() function in the glibc library could access uninitialized data and consequently could return false address information. This update prevents uninitialized data access and ensures that correct addresses are returned. (BZ#1324568)

Additional security checks performed in malloc implementation in glibc

Previously, because the glibc library was compiled without assertions, the functions implementing malloc did not check the heap consistency. This increased the risk that heap-based buffer overflows could be exploited. The heap consistency check has been converted from an assertion into an explicit check. As a result, the security of calls to malloc implementation in glibc is now increased. (BZ#1326739)

chrpath rebased to version 0.16

The chrpath package has been upgraded to upstream version 0.16, which provides a number of bug fixes over the previous version. Notably, the chrpath tool could only modify the run path property of 64-bit binaries on 64-bit systems, and 32-bit binaries on 32-bit systems. This bug has been fixed, and chrpath on a 64-bit system can now modify run paths of binaries for a 32-bit system and binaries for a 32-bit system on a 64-bit system. (BZ#1271380)

Updated translations for the system-config-language package

To resolve missing translations for system-config-language, the following 10 languages have been added; de, es, fr, it, ja, ko, pt_BR, ru, zh_CN, zh_TW. (BZ#1304223)

Mutt no longer send emails with an incomplete From header when a host name lacks the domain part

Previously, when a host name did not include the domain name, the Mutt email client sent an email with a From header that was missing the host name. As a consequence, it was impossible to reply to such an email. This bug has been fixed, and Mutt now correctly handles host names that do not contain the domain part. (BZ#1388512)

strace displays correctly the O_TMPFILE flag and mode for open() function

Previously, the strace utility did not recognize existence of the O_TMPFILE flag for the system function open() and its requirement for presence of mode option. As a consequence, the strace output did not show name of the respective flag and lacked the mode option value. The strace utility has been extended to recognize this situation. As a result, the O_TMPFILE flag and mode are displayed correctly. (BZ#1377847)

ld no longer enters an infinite loop when linking large programs

In large programs for the IBM Power Systems architecture the .text segment is serviced by two stub sections. Previously, the ld linker sizing termination condition was never satisfied when sizing such segments because one of the sections always had to grow. As a consequence, ld entered an infinite loop and had to be terminated. ld has been extended to recognize this situation and alter the sizing termination condition. As a result, ld terminates correctly. (BZ#1406498)

gold warning messages for cross object references to hidden symbols fixed

The gold linker produces a warning message when linking shared libraries where the code in one library references a hidden symbol in a second library or object file. Previously, gold produced this warning message even if another library or object file provided a visible definition of the same symbol. To fix this bug, gold has been extended with a check for this specific case and produces the warning message only if there are no visible definitions of the symbol. As a result, gold no longer displays the wrong warning message. (BZ#1326710)

OProfile default event on Intel Xeon® C3xxx Processors with Denverton SOC fixed

Previously, incorrect values were used in the default cycle counting event for OProfile on Intel Xeon® C3xxx Processors with Denverton SOC. As a consequence, OProfile sampling and counting using the default event did not work. The relevant OProfile setting was corrected. As a result, the default event now works on Intel Xeon® C3xxx Processors with Denverton SOC. (BZ#1380809)