 |
≫ |
|
|
 |
パッチ名: PHSS_36089
パッチ摘要: s700_800 11.23 ANSI CコンパイラB.11.11.16累積パッチ
作成日: 07/04/24
公開日: 07/05/07
ハードウェアプラットフォームおよびOSリリース:
s700: 11.23
s800: 11.23
現象:
PHSS_36089:
以下の不具合を修正しました。
01)JAGag26244:
ローカルの"構造体"イニシャライザ内で"const"変数を使用した場合の不正な
パディング。
02)JAGag11411:
"varargs.h +M0"使用時のWarning 706。
03)JAGag10267:
構造体メンバーを関数ポインタで初期化すると、不正なコードが生成されるた
め、コアダンプが取られます。
04)JAGag28934:
"+I +DD64"オプションを使用すると、コンパイラが不正なコードを生成するこ
とがあります。
05)JAGaf34553:
"+Olibcalls +Onoparmsoverlap +DA2.0W"使用時の異常終了。
06)JAGag30310:
+O2での再帰的ループによる"Signal 11 stack overflow"。
07)JAGag08799:
+Uzm14オプションを使用してもまだFP命令が生成されます。
08)JAGag18778:
フレッシュカーネルPBOでのシャドウスケジューラのバグをスキップする必要
があります。
09)JAGag10885:
組み込み"-fast +Olibcalls"に問題があるため、117.fastDNAがSEGVで終了し
ます。
10)JAGag26003:
引き数の数が多いと、+Olibcallsがスタックを破壊します。
11)JAGag18842:
末尾再帰の不正な最適化。
問題点の説明:
PHSS_36089:
01)JAGag26244:
ローカルの"struct"イニシャライザ内で"const"変数を使用した場合の不正な
パディング。
解決方法:
ccomを修正しました。
02)JAGag11411:
varargs.h +M0使用時のWarning 706。
解決方法:
ANSIモードがONの場合はこの警告を抑止するようにコードを修正しました。
03)JAGag10267:
構造体メンバーを関数ポインタで初期化すると、不正なコードが生成されるた
め、コアダンプが取られていました。
解決方法:
構造体メンバーを関数アドレスで初期化していました。この不具合を修正しま
した。
04)JAGag28934:
+I +DD64オプションを使用すると、コンパイラが不正なコードを生成していま
した。
解決方法:
ISOMの読み取り/書き込み時の不具合を修正しました。
05)JAGaf34553:
"+Olibcalls +Onoparmsoverlap +DA2.0W"使用時の異常終了。
解決方法:
64ビットモードで生成されたベクトル組み込み呼び出しを実行する前にr29を
設定するようにコードを修正しました。
06)JAGag30310:
+O2での再帰的ループによる"Signal 11 stack overflow"。
解決方法:
STHが(単なるSTWではなく)STBで構成されている場合は、EXTRW命令が必要かど
うかチェックするようにコードを修正しました。
07)JAGag08799:
+Uzm14オプションを使用してもまだFP命令が生成されていました。
解決方法:
+Uzm14オプションが使用されたら、64ビットモードでも最適化を無効にするよ
うにコードを修正しました。
08)JAGag18778:
フレッシュカーネルPBOでのシャドウスケジューラのバグをスキップする必要
があります。
解決方法:
候補のアクセスに対して別名指定することのあるメモリー位置が存在し、かつ
memref_ptr_type instがSKIP命令のシャドウ内にあることがわかったら、その
候補のスカラー置換を無効にするようにコードを修正しました。
09)JAGag10885:
組み込み"-fast +Olibcalls"に問題があったため、117.fastDNAがSEGVで終了
していました。
解決方法:
64ビットモードで生成されたベクトル組み込み呼び出しを実行する前にr29を
設定するようにコードを修正しました。
10)JAGag26003:
引き数の数が多いと、+Olibcallsがスタックを破壊していました。
解決方法:
浮動小数点ミリコード呼び出しの生成時にap_offset_from_spを正しく計算す
るようにコードを修正しました。
11)JAGag18842:
末尾再帰の不正な最適化。
解決方法:
ctcomを修正しました。
-----------------------------------------------------------------------------
Patch Name: PHSS_36089
Patch Description: s700_800 11.23 ANSI C compiler B.11.11.16 cumulative patch
Creation Date: 07/04/24
Post Date: 07/05/07
Hardware Platforms - OS Releases:
s700: 11.23
s800: 11.23
Products:
C-ANSI-C B.11.11.16
Filesets:
C-ANSI-C.C,fr=B.11.23.11,fa=HP-UX_B.11.23_PA,v=HP
Automatic Reboot?: No
Status: General Release
Critical:
Yes
PHSS_36089: ABORT CORRUPTION
ABORT: JAGaf34553: abort with
+Olibcalls +Onoparmsoverlap
+DA2.0W
ABORT: JAGag30310: Signal 11
stack overflow due to recursive
loop with +O2
ABORT: JAGag10885: 117.fastDNA
fails with SEGV if built -fast
- +Olibcalls is the problem
ABORT: - JAGag10267: Core dump
due to bad code being generated
when initialization of struct
member with function pointer
CORRUPTION: JAGag26003: +Olibcalls
corrupts stack with large
argument counts
PHSS_35101: ABORT
ABORT: JAGaf90152: fastbind exe
dumps core when loaded with
RA0606 IZ1 dld.sl
Category Tags:
defect_repair general_release critical halts_system
corruption
Path Name: /hp-ux_patches/s700_800/11.X/PHSS_36089
Symptoms:
PHSS_36089:
The fixes for the below mentioned defects have been included
- JAGag26244:
Bad padding when using "const" variables in
local "struct" initializer
- JAGag11411:
Warning 706 when using varargs.h +M0
- JAGag10267:
Core dump due to bad code being generated
when initialization of struct member
with function pointer
- JAGag28934:
Compiler generates wrong code with +I +DD64
options
- JAGaf34553:
abort with +Olibcalls +Onoparmsoverlap +DA2.0W
- JAGag30310:
Signal 11 stack overflow due to recursive
loop with +O2
- JAGag08799:
FP instructions still generated with +Uzm14
option
- JAGag18778:
Skip shadow scheduler bug with fresh
kernel PBO
- JAGag10885:
117.fastDNA fails with SEGV if built -fast
+Olibcalls is the problem
- JAGag26003:
+Olibcalls corrupts stack with large argument
counts
- JAGag18842:
Improper optimization of tail recursion
PHSS_35101:
The fixes for the below mentioned defects have been included
- JAGae66200:
byte alignment problem when using the optimizer
- JAGaf90152:
fastbind exe dumps core when loaded with
RA0606 IZ1 dld.sl
- JAGag02803:
Backend Assert Excessive or improper nesting
of TRYs at +O3
- JAGag02862:
ucomp: Backend Assert using A.03.67 +I +DD64
Defect Description:
PHSS_36089:
- JAGag26244:
Bad padding when using "const" variables in local
"struct" initializer
Resolution:
ccom is fixed to handle this case
- JAGag11411:
Warning 706 when using varargs.h +M0
Resolution:
This warning has been suppressed when ANSI mode is
turned on
- JAGag10267:
Core dump due to bad code being generated
when initialization of struct member
with function pointer
Resolution:
Struct member was being initialised with the function
address and this has been fixed
- JAGag28934:
Compiler generates wrong code with +I +DD64 options
Resolution:
Problem is fixed in reading/writing to ISOMs
- JAGaf34553:
abort with +Olibcalls +Onoparmsoverlap +DA2.0W
Resolution:
Setting up r29 before vector intrinsic calls generated
in 64-bit mode is done
- JAGag30310:
Signal 11 stack overflow due to recursive loop with
+O2
Resolution:
New checking that checks if the EXTRW instructions
are needed when STH is formed from STBs (not just for
STW)
- JAGag08799:
FP instructions still generated with +Uzm14 option
Resolution:
Disabled the optimization with this option in 64bit
mode also
- JAGag18778:
Skip shadow scheduler bug with fresh kernel PBO
Resolution:
Disabled Scalar Replacement for this candidate if we
find out that there is a memref_ptr_type inst which is
accessing mem location which may alias to the candidate's
access and the memref_ptr_type inst is in the shadow of
a SKIP instruction
- JAGag10885:
117.fastDNA fails with SEGV if built -fast +Olibcalls
is the problem
Resolution:
Setting up r29 before vector intrinsic calls generated
in 64-bit mode is done
- JAGag26003:
+Olibcalls corrupts stack with large argument counts
Resolution:
Fixed the wrong calculation of ap_offset_from_sp when
generating floating point millicode calls
- JAGag18842:
Improper optimization of tail recursion
Resolution:
ctcom has been fixed to handle this
PHSS_35101:
- JAGae66200:
byte alignment problem when using the optimizer
- JAGaf90152:
fastbind exe dumps core when loaded with
RA0606 IZ1 dld.sl
- JAGag02803:
Backend Assert Excessive or improper nesting
of TRYs at +O3
- JAGag02862:
ucomp: Backend Assert using A.03.67 +I +DD64
Enhancement:
No
SR:
8606471207 8606454787 8606453540 8606474398 8606374166
8606476011 8606451912 8606462942 8606454223 8606470951
8606463034 8606302843 8606430694 8606445335 8606445398
Patch Files:
C-ANSI-C.C,fr=B.11.23.11,fa=HP-UX_B.11.23_PA,v=HP:
/opt/ansic/bin/cc
/opt/ansic/bin/c89
/opt/ansic/lbin/ccom
/opt/ansic/lib/nls/msg/C/cc.cat
/opt/ansic/lib/nls/msg/C/cc.msgs
what(1) Output:
C-ANSI-C.C,fr=B.11.23.11,fa=HP-UX_B.11.23_PA,v=HP:
/opt/ansic/bin/cc:
$Revision: 92453-07 linker linker crt0.o B.11.53 060
807 $
LINT B.11.X.36086-36089-36092.GP CXREF B.11.X.36086-
36089-36092.GP
HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
$ PATCH/11.00:PHCO_27774 Oct 3 2002 09:45:59 $
/opt/ansic/bin/c89:
$Revision: 92453-07 linker linker crt0.o B.11.53 060
807 $
LINT B.11.X.36086-36089-36092.GP CXREF B.11.X.36086-
36089-36092.GP
HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
$ PATCH/11.00:PHCO_27774 Oct 3 2002 09:45:59 $
/opt/ansic/lbin/ccom:
$Revision: 92453-07 linker linker crt0.o B.11.53 060
807 $
LINT B.11.X.36086-36089-36092.GP CXREF B.11.X.36086-
36089-36092.GP
HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
HP-UX SLLIC/OPTIMIZER UX.11.01.312: 03/05/07
HP aC++ B3910B A.03.73 Demangler Library
HP aC++ B3910B A.03.73 Classic Iostream Library
HP aC++ B3910B A.03.73 Language Support Library
Ucode Code Generator - UX11.01.81 (PACG Mar 05, 2007
)
High Level Optimizer - UX.11.00.070305 (UX11.01-CURR
ENT) [-DHLO_RELEASE +noeh -z +O2 +Oinitcheck
] - 22-Mar-2007.13:47
Ucode-2 - UCODE2_UX11.01_STABLE(v2.1) (October 19, 1
998)
$ PATCH/11.00:PHCO_27774 Oct 3 2002 09:45:59 $
/opt/ansic/lib/nls/msg/C/cc.cat:
HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
Copyright 1985, Hewlett-Packard Co.
/opt/ansic/lib/nls/msg/C/cc.msgs:
None
cksum(1) Output:
C-ANSI-C.C,fr=B.11.23.11,fa=HP-UX_B.11.23_PA,v=HP:
1327039597 925696 /opt/ansic/bin/cc
1327039597 925696 /opt/ansic/bin/c89
888422285 15900568 /opt/ansic/lbin/ccom
1133609393 93497 /opt/ansic/lib/nls/msg/C/cc.cat
1251571161 174386 /opt/ansic/lib/nls/msg/C/cc.msgs
Patch Conflicts: None
Patch Dependencies:
s700: 11.23: PHSS_36091
s800: 11.23: PHSS_36091
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHSS_35101
Equivalent Patches:
PHSS_36086:
s700: 11.11
s800: 11.11
PHSS_36092:
11.31
Patch Package Size: 6900 KBytes
Installation Instructions:
Please review all instructions and the Hewlett-Packard
SupportLine User Guide or your Hewlett-Packard support terms
and conditions for precautions, scope of license,
restrictions, and, limitation of liability and warranties,
before installing this patch.
------------------------------------------------------------
1. Back up your system before installing a patch.
2. Login as root.
3. Copy the patch to the /tmp directory.
4. Move to the /tmp directory and unshar the patch:
cd /tmp
sh PHSS_36089
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHSS_36089.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHSS_36089. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHSS_36089.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHSS_36089.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHSS_36089.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|