[PATCH 1/4] libibery/hashtab: add new functions

Martin Liška mliska@suse.cz
Mon Aug 17 14:01:44 GMT 2020


On 8/17/20 3:55 PM, Alan Modra wrote:
> On Sat, Aug 15, 2020 at 07:46:33PM +0200, Martin Liska wrote:
>>
>> include/ChangeLog:
>>
>> 	* hashtab.h (htab_insert): New function.
>> 	(htab_print_statistics): Likewise.
>>
>> libiberty/ChangeLog:
>>
>> 	* hashtab.c (htab_insert): New function.
>> 	(htab_print_statistics): Likewise.
> 
> This one needs approval from the owning project, gcc.

I know, I'm going to send it to the owning project.

> The other
> patches in the series looked reasonable enough to me, so I applied
> them locally and ran a regression test.  First off, there's a compile
> error:
> gas/macro.c: In function ‘expand_irp’:
> gas/macro.c:1402:10: error: ‘err’ may be used uninitialised in this function

Hmmm, I can't see it:

gcc -DHAVE_CONFIG_H -I. -I../../gas  -I. -I../../gas -I../bfd -I../../gas/config -I../../gas/../include -I../../gas/.. -I../../gas/../bfd -DLOCALEDIR="\"/home/marxin/bin/binutils/share/locale\""  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Wwrite-strings -I../../gas/../zlib -g -O2 -MT macro.o -MD -MP -MF $depbase.Tpo -c -o macro.o ../../gas/macro.c &&\
mv -f $depbase.Tpo $depbase.Po
/bin/sh ./libtool  --tag=CC   --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Wwrite-strings -I../../gas/../zlib -g -O2   -o as-new app.o as.o atof-generic.o compress-debug.o cond.o depend.o dwarf2dbg.o dw2gencfi.o ecoff.o ehopt.o expr.o flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o listing.o literal.o macro.o messages.o output-file.o read.o remap.o sb.o stabs.o subsegs.o symbols.o write.o config/tc-i386.o config/obj-elf.o config/atof-ieee.o  ../opcodes/libopcodes.la ../bfd/libbfd.la ../libiberty/libiberty.a   -ldl
libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Wwrite-strings -I../../gas/../zlib -g -O2 -o as-new app.o as.o atof-generic.o compress-debug.o cond.o depend.o dwarf2dbg.o dw2gencfi.o ecoff.o ehopt.o expr.o flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o listing.o literal.o macro.o messages.o output-file.o read.o remap.o sb.o stabs.o subsegs.o symbols.o write.o config/tc-i386.o config/obj-elf.o config/atof-ieee.o  ../opcodes/.libs/libopcodes.a ../bfd/.libs/libbfd.a -L/home/marxin/Programming/binutils/objdir/zlib -lz ../libiberty/libiberty.a -ldl

> 
> Fixing that then showed

Have you fixed it with setting err = NULL?

> m68hc11-elf  +FAIL: Motorola Assembly Language Input Standard
> m68hc11-elf  +FAIL: 68HC12 specific addressing modes (opers12)
> m68hc11-elf  +FAIL: Dwarf2 test on opers12.s
> m68hc11-elf  +FAIL: 68HC12 branchs
> m68hc11-elf  +FAIL: MRI label
> m68hc11-elf  +FAIL: MRI EQU
> m68hc11-elf  +FAIL: MRI floating point constants
> m68hc11-elf  +FAIL: MRI character constants
> m68hc11-elf  +FAIL: MRI expressions
> m68hc11-elf  +FAIL: MRI common sections
> m68hc11-elf  +FAIL: MRI comments
> m68hc11-elf  +FAIL: MRI empty macro
> m68hc11-elf  +FAIL: MRI semi
> m68hc11-elf  +FAIL: ld-m68hc11/xgate1
> m68hc12-elf  +FAIL: Motorola Assembly Language Input Standard
> m68hc12-elf  +FAIL: 68HC12 specific addressing modes (opers12)
> m68hc12-elf  +FAIL: Dwarf2 test on opers12.s
> m68hc12-elf  +FAIL: 68HC12 branchs
> m68hc12-elf  +FAIL: MRI label
> m68hc12-elf  +FAIL: MRI EQU
> m68hc12-elf  +FAIL: MRI floating point constants
> m68hc12-elf  +FAIL: MRI character constants
> m68hc12-elf  +FAIL: MRI expressions
> m68hc12-elf  +FAIL: MRI common sections
> m68hc12-elf  +FAIL: MRI comments
> m68hc12-elf  +FAIL: MRI empty macro
> m68hc12-elf  +FAIL: MRI semi
> m68hc12-elf  +FAIL: ld-m68hc11/xgate1
> m68k-elf  +FAIL: MRI floating point constants
> m68k-elf  +FAIL: MRI character constants
> m68k-elf  +FAIL: MRI common sections
> m68k-elf  +FAIL: MRI comments
> m68k-elf  +FAIL: MRI empty macro
> m68k-elf  +FAIL: MRI semi
> m68k-elf  +FAIL: MRI constants
> m68k-elf  +FAIL: MRI immediate constants
> m68k-elf  +FAIL: MRI structured for
> m68k-elf  +FAIL: MRI structured if
> m68k-elf  +FAIL: MRI structured repeat
> m68k-elf  +FAIL: MRI structured while
> m68k-elf  +FAIL: MRI moveml
> m68k-linux  +FAIL: MRI floating point constants
> m68k-linux  +FAIL: MRI character constants
> m68k-linux  +FAIL: MRI common sections
> m68k-linux  +FAIL: MRI comments
> m68k-linux  +FAIL: MRI empty macro
> m68k-linux  +FAIL: MRI semi
> m68k-linux  +FAIL: MRI constants
> m68k-linux  +FAIL: MRI immediate constants
> m68k-linux  +FAIL: MRI structured for
> m68k-linux  +FAIL: MRI structured if
> m68k-linux  +FAIL: MRI structured repeat
> m68k-linux  +FAIL: MRI structured while
> m68k-linux  +FAIL: MRI moveml
> s12z-elf  +FAIL: Test of disassembler behaviour with invalid bit manipulation instructions
> s12z-elf  +FAIL: Handle truncated instruction gracefully.
> s12z-elf  +FAIL: Expressions in OPR direct submode
> spu-elf  +FAIL: .eqv support
> spu-elf  +FAIL: forward references
> spu-elf  +FAIL: .equ redefinitions
> spu-elf  +FAIL: .equ redefinitions (2)
> spu-elf  +FAIL: .equ redefinitions (3)
> spu-elf  +FAIL: .equ redefinitions (ELF)
> spu-elf  +FAIL: elf equate relocs
> spu-elf  +FAIL: .set with expression
> spu-elf  +FAIL: .set with IFUNC
> spu-elf  +FAIL: Multibyte symbol names
> spu-elf  +FAIL: gas/elf/common5a
> spu-elf  +FAIL: gas/elf/common5b
> spu-elf  +FAIL: gas/elf/common5c
> spu-elf  +FAIL: gas/elf/common5d
> spu-elf  +FAIL: ld-elf/pr17550a
> spu-elf  +FAIL: ld-elf/pr17550b
> spu-elf  +FAIL: ld-elf/pr17550c
> spu-elf  +FAIL: ld-elf/pr17550d
> z80-coff  +FAIL: index instructions with label as offset
> z80-coff  +FAIL: data definition
> z80-coff  +FAIL: eZ80 use unsupported registers as labels
> z80-coff  +FAIL: quotes
> z80-coff  +FAIL: SDCC compatibility mode
> z80-coff  +FAIL: .set redefinitions
> z80-coff  +FAIL: strings test
> z80-elf  +FAIL: .equ redefinitions (ELF)
> z80-elf  +FAIL: elf equate relocs
> z80-elf  +FAIL: .set with expression
> z80-elf  +FAIL: .set with IFUNC
> z80-elf  +FAIL: Multibyte symbol names
> z80-elf  +FAIL: gas/elf/common5a
> z80-elf  +FAIL: gas/elf/common5b
> z80-elf  +FAIL: gas/elf/common5c
> z80-elf  +FAIL: gas/elf/common5d
> z80-elf  +FAIL: index instructions with label as offset
> z80-elf  +FAIL: data definition
> z80-elf  +FAIL: eZ80 use unsupported registers as labels
> z80-elf  +FAIL: quotes
> z80-elf  +FAIL: SDCC compatibility mode
> z80-elf  +FAIL: .set redefinitions
> z80-elf  +FAIL: strings test
> z80-elf  +FAIL: ld-elf/pr17550a
> z80-elf  +FAIL: ld-elf/pr17550b
> z80-elf  +FAIL: ld-elf/pr17550c
> z80-elf  +FAIL: ld-elf/pr17550d
> 

How do you run tests please? Do you build cross binutils?
Thanks,
Martin


More information about the Binutils mailing list