This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [PATCH 0/1] Build GDB as a C++ program by default


On 04/19/2016 04:20 PM, Walfred Tedeschi wrote:
> Am 4/19/2016 um 4:39 PM schrieb Pedro Alves:
>> On 04/19/2016 03:36 PM, Walfred Tedeschi wrote:
>>
>>> Pedro,
>>>
>>> Do you have some data about building GDB on OsX with
>>> --enable-build-with-cxx?
>>>
>>> If not I could give it a try!
>>
>> Please do give it a try.  Thanks!
>>
> 
> There is some issues, i will investigating a bit further.
> By now i was compiling with Clang, will also try to compile with gcc.

I managed to build a linux x darwin cross compiler here, using the
osxcross tool.

Indeed, clang++ stumbles on a bunch of issues.  But then again, so
does clang in C-mode.

With gcc/g++ (5.3.0), and I see a few warnings/errors.  Configuring gdb with:

/home/pedro/gdb/mygit/cxx-convertion/src/configure --host=x86_64-apple-darwin15 CFLAGS="-g3 -O0" CXXFLAGS="-g3 -O0" --enable-build-with-cxx=no --enable-targets=all --disable-ld --disable-binutils --disable-gas

First off, I see a set of:

/home/pedro/gdb/mygit/cxx-convertion/src/gdb/main.c:486:27: warning: 'void* sbrk(int)' is deprecated [-Wdeprecated-declarations]
lim_at_start = (char *) sbrk (0);
^

but I get that in C-mode too, so I'll ignore.

So, compiling with:

$ make -k WERROR_CFLAGS="-Wno-deprecated-declarations" 2>diagnostics.txt 1>/dev/null

I see just a few warnings / errors, and they all look easily fixable:

/home/pedro/gdb/mygit/cxx-convertion/src/gdb/aarch64-tdep.c: In function 'unsigned int aarch64_record_load_store(insn_decode_record*)':
/home/pedro/gdb/mygit/cxx-convertion/src/gdb/aarch64-tdep.c:3479:78: error: invalid conversion from 'uint64_t* {aka long long unsigned int*}' to 'ULONGEST* {aka long unsigned int*}' [-fpermissive]
                      bits (aarch64_insn_r->aarch64_insn, 16, 20), &reg_rm_val);

/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c: In function 'void darwin_resume_thread(inferior*, darwin_thread_t*, int, int)':
/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c:731:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    (caddr_t)thread->gdb_port, nsignal);
                     ^

/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c: In function 'ptid_t darwin_decode_message(mach_msg_header_t*, darwin_thread_t**, inferior**, target_waitstatus*)':
/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c:1016:25: error: invalid conversion from 'int' to 'gdb_signal' [-fpermissive]
     status->value.sig = WTERMSIG (wstatus);

/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c: In function 'void darwin_resume_thread(inferior*, darwin_thread_t*, int, int)':
/home/pedro/gdb/mygit/cxx-convertion/src/gdb/darwin-nat.c:731:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    (caddr_t)thread->gdb_port, nsignal);
                     ^

I'll send patches later.

Thanks,
Pedro Alves


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