This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Contributing FreeBSD/aarch64 support


On Mon, Feb 9, 2015 at 1:29 PM, Ed Maste <emaste@freebsd.org> wrote:
> On 9 February 2015 at 16:05, H.J. Lu <hjl.tools@gmail.com> wrote:
>>
>> Do you get clean results for "make check" with clang?
>> If not, I don't see why we should change source for clang.
>
> Mostly, yes. There was one unexpected gas failure when I ran it just
> now.  I configured with --disable-gdb since there's a lot that's not
> working there at the moment.

It is a clang issue, which is independent of FreeBSD.  I also
can use clang to build binutils Linux with

CC=clang CXX=clang++ \
.../configure --disable-gdb --disable-libdecnumber --disable-readlin
e --disable-sim --disable-werror \
--enable-gold --enable-plugins --enable-threads

But I got many "make check" failures on master branch on
Linux/x86-64:

FAIL: bootstrap
FAIL: bootstrap with strip
FAIL: bootstrap with --traditional-format
FAIL: bootstrap with --no-keep-memory
FAIL: bootstrap with --relax
FAIL: cdtest
FAIL: cdtest with -Ur
FAIL: Run normal with libfoo.so with compressed debug sections
FAIL: preinit array
FAIL: init array
FAIL: fini array
FAIL: init array mixed
FAIL: static preinit array
FAIL: static init array
FAIL: static fini array
FAIL: static init array mixed
FAIL: Run with libindirect3c.so 1
FAIL: Run with libindirect3c.so 2
FAIL: Run with libindirect3c.so 3
FAIL: Run with libindirect3c.so 4
FAIL: Run with libindirect4c.so 1
FAIL: Run with libindirect4c.so 2
FAIL: Run with libindirect4c.so 3
FAIL: Run with libindirect4c.so 4
FAIL: Build libcomm1.o
FAIL: Build libcomm1.o
FAIL: Build libpr11138-2.o
FAIL: Build libpr11138-2.o
FAIL: Build libpr13250-3.o
FAIL: Build libpr13250-3.o
FAIL: Build pr14862-1.o
FAIL: Build pr14862-1.o
FAIL: Build libneeded1c.o
FAIL: Build libneeded1c.o
FAIL: Build libneeded1pic.o
FAIL: Build libneeded1pic.o
FAIL: Build needed1a.so with --add-needed
FAIL: Build needed1a.so with --add-needed
FAIL: Build needed1b.so with --copy-dt-needed-entries
FAIL: Build needed1b.so with --copy-dt-needed-entries
FAIL: Build needed1a.so with --no-add-needed
FAIL: Build needed1a.so with --no-add-needed
FAIL: Build needed1b.so with --no-copy-dt-needed-entries
FAIL: Build needed1b.so with --no-copy-dt-needed-entries
FAIL: Build libneeded2c.o
FAIL: Build libneeded2c.o
FAIL: Build needed2
FAIL: Build needed2
FAIL: Build needed3.o
FAIL: Build needed3.o
FAIL: Run normal with libfoo.so
FAIL: Run protected with libfoo.so
FAIL: Run hidden with libfoo.so
FAIL: Run normal with versioned libfoo.so
FAIL: Run warn with versioned libfoo.so
FAIL: Run protected with versioned libfoo.so
FAIL: Run hidden with versioned libfoo.so
FAIL: Run normal libbar.so with libfoo.so
FAIL: Run protected libbar.so with libfoo.so
FAIL: Run hidden libbar.so with libfoo.so
FAIL: Run normal libbar.so with versioned libfoo.so
FAIL: Run protected libbar.so with versioned libfoo.so
FAIL: Run hidden libbar.so with versioned libfoo.so
FAIL: Run dl1a with --dynamic-list=dl1.list and dlopen on libdl1.so
FAIL: Run dl1b with --dynamic-list-data and dlopen on libdl1.so
FAIL: Run with libdl2a.so
FAIL: Run with libdl2b.so
FAIL: Run with libdl2c.so
FAIL: Run with libdl4a.so
FAIL: Run with libdl4b.so
FAIL: Run with libdl4c.so
FAIL: Run with libdl4d.so
FAIL: Run with libdl4e.so
FAIL: Run with libdl4f.so
FAIL: Run dl6a1 with --dynamic-list-data and dlopen on libdl6a.so
FAIL: Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.so
FAIL: Run dl6a3 with -Bsymbolic and dlopen on libdl6a.so
FAIL: Run dl6a4 with -Bsymbolic --dynamic-list-data and dlopen on libdl6a.so
FAIL: Run dl6a5 with -Bsymbolic-functions --dynamic-list-cpp-new and
dlopen on libdl6a.so
FAIL: Run dl6a6 with --dynamic-list-cpp-new -Bsymbolic-functions and
dlopen on libdl6a.so
FAIL: Run dl6a7 with --dynamic-list-data -Bsymbolic and dlopen on libdl6a.so
FAIL: Run dl6b1 with --dynamic-list-data and dlopen on libdl6b.so
FAIL: Run dl6b2 with dlopen on libdl6b.so
FAIL: Run dl6c1 with --dynamic-list-data and dlopen on libdl6c.so
FAIL: Run dl6d1 with --dynamic-list-data and dlopen on libdl6d.so
FAIL: Run with libdata1.so
FAIL: Run with libdata2.so
FAIL: Run with libfunc1.so comm1.o
FAIL: Run with comm1.o libfunc1.so
FAIL: Run with pr11138-2.c libpr11138-1.so
FAIL: Run with libpr11138-1.so pr11138-2.c
FAIL: Run with pr13250-3.c, libpr13250-1.so and libpr13250-2.so
FAIL: Run with pr14323-1.c pr14323-2.so
FAIL: Run with pr14862-1.c libpr14862.so
FAIL: Link with --add-needed
FAIL: Link with --copy-dt-needed-entries
FAIL: Run relmain
FAIL: Run pr2404
FAIL: --no-add-needed
FAIL: --no-copy-dt-needed-entries
FAIL: --no-add-needed -shared
FAIL: --no-copy-dt-needed-entries -shared
FAIL: Run with libnew1a.so
FAIL: Run with libnew1b.so
FAIL: Run pr2404 with PIE
FAIL: Run with libwrap1a.so and libwrap1b.so
FAIL: Run with libwrap1b.so and libwrap1a.so
FAIL: visibility (hidden_normal)
FAIL: visibility (hidden_normal) (PIC main)
FAIL: visibility (hidden_weak)
FAIL: visibility (hidden_weak) (PIC main)
FAIL: visibility (protected)
FAIL: visibility (protected) (PIC main)
FAIL: visibility (protected_undef_def)
FAIL: visibility (protected_undef_def) (PIC main)
FAIL: visibility (protected_weak)
FAIL: visibility (protected_weak) (PIC main)
FAIL: visibility (normal)
FAIL: visibility (normal) (PIC main)
FAIL: ELF weak func first DSO
FAIL: ELF weak func last DSO
FAIL: Could not link a dynamic executable
FAIL: Could not link a dynamic executable using local ifunc
FAIL: Could not link a static executable
FAIL: Could not link test-1
FAIL: Build libsize-1.so
FAIL: Build libsize-1.so
FAIL: Build libsize-2.so
FAIL: Build libsize-2.so
FAIL: Build libsize-3a.so
FAIL: Build libsize-3a.so
FAIL: Build libsize-3b.so
FAIL: Build libsize-3b.so
FAIL: Build libsize-3c.so
FAIL: Build libsize-3c.so
FAIL: Build size-7
FAIL: Build size-7
FAIL: Build size-8
FAIL: Build size-8
FAIL: Build libsize-9.so
FAIL: Build libsize-9.so
FAIL: Build libsize-10.so
FAIL: Build libsize-10.so
FAIL: Run size-1
FAIL: Run size-2
FAIL: Run size-3a
FAIL: Run size-3b
FAIL: Run size-3c
FAIL: Run size-3d
FAIL: Run size-3d
FAIL: Run size-3e
FAIL: Run size-4a
FAIL: Run size-4b
FAIL: Run size-5a
FAIL: Run size-5b
FAIL: Run size-6
FAIL: Could not link a unique executable
FAIL: Could not link a dynamic executable
FAIL: Could not create a shared library containing an unique symbol
with reference
FAIL: Build libmpx1a.a
FAIL: Build libmpx1a.a
FAIL: Build libmpx1c.a
FAIL: Build libmpx1c.a
FAIL: Build libmpx2a.a
FAIL: Build libmpx2a.a
FAIL: Build libmpx2c.a
FAIL: Build libmpx2c.a
FAIL: Run plt-main
FAIL: Run plt-main with PIE
FAIL: Run copyreloc-main with PIE without -fPIE
FAIL: Run pr17689 with PIE without -fPIE
FAIL: Run plt-main with -z bndplt
FAIL: Run plt-main with PIE and -z bndplt

How come your results are "mostly clean"?

>> You can always configure binutils with --disable-werror.
>
> Perhaps not a bad idea since Clang and GCC may have different warnings
> over time. I think this should be done by the configure script if
> that's the way you want to go though - do you agree?



-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]