C6X OSABI field

Joseph S. Myers joseph@codesourcery.com
Thu May 12 20:41:00 GMT 2011


On Thu, 12 May 2011, Bernd Schmidt wrote:

> ! tic6x-*-elf)		targ_emul=elf32_tic6x_elf_le
> ! 			targ_extra_emuls="elf32_tic6x_elf_be elf32_tic6x_le elf32_tic6x_be"
> ! 			targ_extra_libpath=elf32_tic6x_le
> ! 			;;
> ! tic6x-*-uclinux)	targ_emul=elf32_tic6x_linux_le
> ! 			targ_extra_emuls="elf32_tic6x_linux_be elf32_tic6x_le elf32_tic6x_be"
> ! 			targ_extra_libpath=elf32_tic6x_le
>   			;;

I'm not sure why you're setting targ_extra_libpath, but I don't see how it 
makes sense to have only one endianness in targ_extra_libpath in any case.  
I think setting targ_extra_libpath=$targ_extra_emuls as various targets do 
is safe in any case.

> + 
> + if { [istarget tic6x-*-elf] } {
> +     set expected_osabi "Bare-metal C6000"
> + } elseif { [istarget tic6x-*-linux] } {

That should be tic6x-*-uclinux.

> +     catch "exec $READELF $READELFFLAGS --file-header $binary_file > readelf.out" got

Should be using remote_exec host (with appropriate adjustments for how 
remote_exec arranges its return value) to work with remote host testing.

> + if {! [check_osabi_tic6x tmpdir/libtest.so]} {
> +     fail "C6X shared library OSABI, LE"
> + }

I don't see any code to generate PASS lines here if the tests pass.  Each 
test should have some unique text that appears after "PASS: " in the .log 
and .sum if the test passes, and after "FAIL: " if it fails.  It looks 
like this code will just fail tests but not pass them.

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Binutils mailing list