[Nasm-bugs] [Bug 3392490] New: nasm-2.13.03 fails final link stage during compile due to wrong CFLAGS

noreply-nasm at gorcunov.org noreply-nasm at gorcunov.org
Thu May 31 19:40:29 PDT 2018


https://bugzilla.nasm.us/show_bug.cgi?id=3392490

            Bug ID: 3392490
           Summary: nasm-2.13.03 fails final link stage during compile due
                    to wrong CFLAGS
           Product: NASM
           Version: 2.13.xx
          Hardware: All
                OS: All
            Status: OPEN
          Severity: normal
          Priority: Medium
         Component: Assembler
          Assignee: nobody at nasm.us
          Reporter: dclarke at blastwave.org
                CC: gorcunov at gmail.com, hpa at zytor.com, nasm-bugs at nasm.us
     Obtained from: Build from source archive using configure

Makefile is wrong for the final link stage as it entirely ignores the
existing CFLAGS and inserts a wrong define "-D_STDC_C99" which means 
nothing to Oracle Studio 12.6 compilers : 

.
.
.
/opt/developerstudio12.6/bin/cc -D_STDC_C99= -c -errfmt=error -erroff=%none
-errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa
-xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy
-xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xarch=sparc -U__STRICT_ANSI__
-fno-common -Werror=attributes -W -Wall -Werror=unknown-warning-option
-Wno-pedantic-ms-format -Wc90-c99-compat -Wno-long-long -Werror=implicit
-Werror=missing-braces -Werror=return-type -Werror=trigraphs
-Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes
-Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I.
-I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm
-I./disasm -I./output -I./output -o disasm/sync.o disasm/sync.c
"./include/nasmlib.h", line 74: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 74: warning:  attribute "alloc_size" is unknown,
ignored
"./include/nasmlib.h", line 75: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 75: warning:  attribute "alloc_size" is unknown,
ignored
"./include/nasmlib.h", line 76: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 76: warning:  attribute "alloc_size" is unknown,
ignored
"./include/nasmlib.h", line 77: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 77: warning:  attribute "alloc_size" is unknown,
ignored
"./include/nasmlib.h", line 79: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 80: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 398: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 403: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 404: warning:  attribute "returns_nonnull" is
unknown, ignored
"./include/nasmlib.h", line 405: warning:  attribute "returns_nonnull" is
unknown, ignored
rm -f libnasm.a
/usr/ccs/bin/ar cq libnasm.a stdlib/snprintf.o stdlib/vsnprintf.o
stdlib/strlcpy.o stdlib/strnlen.o nasmlib/ver.o nasmlib/crc64.o
nasmlib/malloc.o nasmlib/md5c.o nasmlib/string.o nasmlib/file.o nasmlib/mmap.o
nasmlib/ilog2.o nasmlib/realpath.o nasmlib/path.o nasmlib/filename.o
nasmlib/srcfile.o nasmlib/zerobuf.o nasmlib/readnum.o nasmlib/bsi.o
nasmlib/rbtree.o nasmlib/hashtbl.o nasmlib/raa.o nasmlib/saa.o
nasmlib/strlist.o nasmlib/perfhash.o nasmlib/badenum.o common/common.o
x86/insnsa.o x86/insnsb.o x86/insnsd.o x86/insnsn.o x86/regs.o x86/regvals.o
x86/regflags.o x86/regdis.o x86/disp8.o x86/iflag.o asm/error.o asm/float.o
asm/directiv.o asm/directbl.o asm/pragma.o asm/assemble.o asm/labels.o
asm/parser.o asm/preproc.o asm/quote.o asm/pptok.o asm/listing.o asm/eval.o
asm/exprlib.o asm/exprdump.o asm/stdscan.o asm/strfunc.o asm/tokhash.o
asm/segalloc.o asm/preproc-nop.o asm/rdstrnum.o macros/macros.o
output/outform.o output/outlib.o output/legacy.o output/nulldbg.o
output/nullout.o output/outbin.o output/outaout.o output/outcoff.o
output/outelf.o output/outobj.o output/outas86.o output/outrdf2.o
output/outdbg.o output/outieee.o output/outmacho.o output/codeview.o
disasm/disasm.o disasm/sync.o
ranlib libnasm.a
/opt/developerstudio12.6/bin/cc -D_STDC_C99=  -o nasm asm/nasm.o libnasm.a 
ld: warning: option -Q appears more than once, first setting taken
ld: fatal: file /opt/developerstudio12.6/lib/compilers/crti.o: wrong ELF class:
ELFCLASS32
ld: fatal: file processing errors. No output written to nasm
gmake: *** [Makefile:154: nasm] Error 2


Manual link also utters strange warnings : 

node000 $ cc $CFLAGS -o nasm asm/nasm.o libnasm.a 
ld: warning: option -Q appears more than once, first setting taken
ld: warning: symbol 'lfmt' has differing types:
        (file libnasm.a(listing.o) type=OBJT; file /lib/64/libc.so type=FUNC);
        libnasm.a(listing.o) definition taken
ld: warning: symbol 'lfmt' has differing types:
        (file libnasm.a(listing.o) type=OBJT; file /lib/64/libc.so type=FUNC);
node000 $ 


Perhaps the Makefile should use the CFLAGS provided at the final link stage.

Also there appears to be no testsuite nor any way to confirm that the
software works as intended and thus it can not be blindly installed.

-- 
You are receiving this mail because:
You are watching all bug changes.
You are on the CC list for the bug.


More information about the Nasm-bugs mailing list