PJ40788: MAKETPF SHOULD WARN AGAINST A C CODE IN A BSO
Closed as program error.
See Problem Summary.
APAR NUMBER: PJ40788 PRODUCT: z/TPF FUNCTIONAL AREA: BUILD TOOLS SHIPPED IN PUT: 10 ABSTRACT: MakeTPF updates for GCC 4.6 and a new audit preventing C objects in a BSO PACKAGE CONTENTS: Source Segments: (C) base/cntl/tpf_app_base.cntl (C) base/mysql/mysqlcomp.mak (C) base/rt/cftcon.c (C) base/rt/cybd.mak (N) base/rt/cybl.mak (C) base/rt/cyma.mak (C) base/rt/cymdisplay.c (N) base/rt/cyml.mak (C) tpftools/include_ztpf/maketpf.rules (C) tpftools/include_ztpf/maketpf.rules_messages (C) tpftools/include_ztpf/maketpf.rules_set_flags_tpf_gcc_46 (C) tpftools/include_ztpf/maketpf_gen_sqa_uss (C) tpftools/maketpf_prereq Object Only Binaries: None. Configuration Independent Binaries: (N) base/lib/libCYBL.so (N) base/lib/libCYML.so (C) base/load/CYBD.so (N) base/load/CYBL.so (C) base/load/CYMA.so (N) base/load/CYML.so (C) base/obj/cymdisplay.o Support Files: base/lst/cymdisplay.lst base/lst/CYBD.map base/lst/CYBL.map base/lst/CYMA.map base/lst/CYML.map OTHER BINARIES TO BUILD: YES (C) <sys>/lib/libCTMW.so (C) <sys>/load/CTMW.so (C) <sys>/obj/cftcon.o (C) <sys>/load/IPAT.so (C) <sys>/obj/ipat.o COMMENTS: This APAR addresses the following MakeTPF issues: 1) Linking C or C++ objects with BAL objects in the same BAL shared object is not supported. When C++ and BAL objects are linked in the same shared object, the loader will show an error because of the __TPF_soinit symbol that gets included from the startup code. Similarly, when C and BAL objects are linked in the same shared object, errors can occur when the C object includes imported data or constructors. 2) The default GCC 4.6 compile options should not include -Wno-strict-aliasing. 3) The maketpf_prereq script does not recognize GCC 4.6 as a supported compiler version. 4) The mysqlcomp makefile does not correctly locate the compiler include directory for gcc 4.6. 5) The maketpf_gen_sqa_uss and maketpf.rules file contain lines over 255 characters in length. A request has been made to shorten the line length below 255 characters in those files. 6) When compiled using GCC 4.6, cftcon.c in CTMW shows a warning for a mismatched prototype.
SOLUTION: The following updates are included in this APAR: 1) A new error message (MTPF0241E) will be issued when linking a BAL shared object if the BAL shared object includes both BAL and C or C++ object code. This new audit does not apply to C shared objects that include TPFISOC assembler code. 2) The -Wno-strict-aliasing option has been removed as a default for the GCC 4.6 compiler. 3) The maketpf_prereq script has been updated to recognize GCC 4.6 as a supported compiler version. 4) The mysqlcomp makefile has been updated to correctly locate the GCC 4.6 compiler include directory. 5) The maketpf_gen_sqa_uss and maketpf.rules files have been modified to reduce the maximum line length below 255 characters. 6) The mismatched prototype warning has been corrected in the GCC 4.6 compiles of cftcon.c in CTMW. COREQS: NO None. MIGRATION CONSIDERATIONS: NO None. BUILD COMMANDS AND INSTRUCTIONS: YES #maketpf commands for linux maketpf -f CYML cymdisplay.o maketpf -f CTMW cftcon.o maketpf -f IPAT maketpf CYBL link maketpf CYBD link maketpf CYML link maketpf CYMA link maketpf CTMW link UPDATED INFORMATION UNITS: YES z/TPF Program Management See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/maint/maintztpf.html APAR URL: http://www.ibm.com/software/htp/tpf/ztpfmaint/put10/PJ40788.htm
Reported component name
Reported component ID
NoSpecatt / Xsystem
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels