Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: gdb-patches@sourceware.org
Subject: Re: [PATCH 00/36] Support building GDB as a C++ program
Date: Fri, 27 Feb 2015 18:19:00 -0000	[thread overview]
Message-ID: <54F0B52F.1050909@redhat.com> (raw)
In-Reply-To: <1423524046-20605-1-git-send-email-palves@redhat.com>

A quick status update on this series.  All patches but one
up to the TRY_CATCH part are now pushed.  That is,

    > [PATCH 01/36] Create libiberty/libiberty.m4, have GDB and GDBserver use it
    > [PATCH 02/36] Add --enable-build-with-cxx configure switch
    > [PATCH 03/36] C++ keyword cleanliness, mostly auto-generated
    > [PATCH 04/36] Fix struct, union, and enum nesting in C++
    > [PATCH 05/36] Fix redefinition errors in C++ mode
    > [PATCH 06/36] record-btrace.c: Remove redefinitions
    > [PATCH 07/36] Make array object extern
    > [PATCH 08/36] elf-bfd.h: Wrap in extern "C".
    > [PATCH 09/36] floatformat.h: Wrap in extern "C".
    > [PATCH 10/36] Add extern "C" to declarations of C symbols
    > [PATCH 11/36] Make functions and variables exported by the IPA be extern "C"
    > [PATCH 12/36] proc-service, extern "C"
    > [PATCH 13/36] target.h: Include infrun.h
    > [PATCH 14/36] Do not do arithmetic on enum types
    > [PATCH 15/36] Don't forward declare enum target_hw_bp_type
    > [PATCH 16/36] x86 Linux/ptrace: fix offsetof usage in C++ mode
    > [PATCH 17/36] mi/mi-cmd-stack.c|frame filters: print_values <-> ext_lang_frame_args
    > [PATCH 18/36] Rename struct lzma_stream to avoid clash with system header
    > [PATCH 19/36] Exported const objects
    > [PATCH 21/36] opcodes/microblaze: Rename 'or', 'and', 'xor' to avoid C++ conflict
    > [PATCH 22/36] Remove duplicate const
    > [PATCH 23/36] gdbarch.h: include regcache.h
    > [PATCH 24/36] breakpoint.h: move enum âprint_stop_actionâ
    > [PATCH 25/36] python/python-internal.h: enum âext_lang_rcâ not defined
    > [PATCH 26/36] Adjust self tests to cope with GDB built as a C++ program
    > [PATCH 27/36] catch_command_errors: Remove 'mask' parameter
    > [PATCH 28/36] Move exception_none to common code, and use it

All the above are now pushed.

I didn't push this one, as it introduces an aliasing violation:

    > [PATCH 20/36] gdbserver/tracepoint: Add cast sockaddr_un/sockaddr cast

These are still pending:

    > [PATCH 29/36] Normalize TRY_CATCH exception handling block
    > [PATCH 30/36] quit_force: Replace TRY_CATCH wrapper macros
    > [PATCH 31/36] Split TRY_CATCH into TRY + CATCH
    > [PATCH 32/36] TRY_CATCH -> TRY+CATCH+END_CATCH everywhere
    > [PATCH 33/36] TRY_CATCH -> TRY+CATCH+END_CATCH, the manual conversions
    > [PATCH 34/36] more making TRY/CATCH callers look more like real C++ try/catch blocks
    > [PATCH 35/36] kill volatile struct gdb_exception
    > [PATCH 36/36] Make TRY/CATCH use real C++ try/catch in C++ mode

I don't have time right now to rebase this part, but I'd like
to move ahead with it sometime soon.  If anyone has comments on
this, now's the time to send them out.

> Known problems:
> 
> . Other hosts/native targets will naturally stumble on more
>   host-specific code that needs converting, which I can't easily test.
>   Help very much welcome!

This is still true.  :-)

> 
> . '--enable-targets=all' doesn't link yet in C++ mode.  This just more
>   extern "C" problems.

This is fixed, or will be, once the TRY_CATCH patches land,
at least on x86_64 GNU/Linux.  It was handled with
a couple bfd and opcodes patches.

>   
> I wrote a second series a few months ago that built on an older
> version of this one and fixes all the '-fpermissive' errors/warnings,
> until GDB and GDBserver build cleanly with -Werror, on x86_64 Fedora.
> It's naturally rotten in a few places by now, and in need of some
> further cleaning up but it shouldn't be that far off.  You can find it
> here:
> 
>   https://github.com/palves/gdb/commits/palves/cxx-conversion-attempt-part-2-no-fpermissive
>   git@github.com:palves/gdb.git palves/cxx-conversion-attempt-part-2-no-fpermissive

A couple weeks ago I rebased this second part and cleaned it up
substantially.  It's not fully ready, and now needs
another rebase though...

Thanks,
Pedro Alves


  parent reply	other threads:[~2015-02-27 18:19 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-09 23:20 Pedro Alves
2015-02-09 23:20 ` [PATCH 02/36] Add --enable-build-with-cxx configure switch Pedro Alves
2015-02-10 22:11   ` Yao Qi
2015-02-27 13:24     ` Pedro Alves
2015-02-27 14:20       ` Yao Qi
2015-02-27 16:29         ` Pedro Alves
2015-02-09 23:21 ` [PATCH 23/36] gdbarch.h: include regcache.h Pedro Alves
2015-02-09 23:21 ` [PATCH 15/36] Don't forward declare enum target_hw_bp_type Pedro Alves
2015-02-09 23:21 ` [PATCH 22/36] Remove duplicate const Pedro Alves
2015-02-09 23:21 ` [PATCH 12/36] proc-service, extern "C" Pedro Alves
2015-02-09 23:21 ` [PATCH 31/36] Split TRY_CATCH into TRY + CATCH Pedro Alves
2015-03-07 15:58   ` Pedro Alves
2015-02-09 23:21 ` [PATCH 09/36] floatformat.h: Wrap in extern "C" Pedro Alves
2015-02-09 23:35   ` Andrew Pinski
2015-02-09 23:49     ` Pedro Alves
2015-02-12 11:49       ` Pedro Alves
2015-02-18 19:55         ` Jakub Jelinek
2015-02-14 17:29       ` Doug Evans
2015-02-14 18:36         ` Pedro Alves
2015-02-14 22:46           ` Doug Evans
2015-02-09 23:21 ` [PATCH 20/36] gdbserver/tracepoint: Add cast sockaddr_un/sockaddr cast Pedro Alves
2015-02-09 23:21 ` [PATCH 08/36] elf-bfd.h: Wrap in extern "C" Pedro Alves
2015-02-09 23:33   ` Andrew Pinski
2015-02-10 12:05     ` [PATCH v2] Wrap BFD headers " Pedro Alves
2015-02-11  0:36       ` Alan Modra
2015-02-11 10:08         ` Pedro Alves
2015-02-09 23:21 ` [PATCH 05/36] Fix redefinition errors in C++ mode Pedro Alves
2015-02-11 10:09   ` Yao Qi
2015-02-11 11:30     ` Pedro Alves
2015-02-11 11:39       ` [PATCH] xcoffread.c: delete 'within_function' definition (Re: [PATCH 05/36] Fix redefinition errors in C++ mode) Pedro Alves
2015-02-09 23:21 ` [PATCH 13/36] target.h: Include infrun.h Pedro Alves
2015-02-09 23:21 ` [PATCH 21/36] opcodes/microblaze: Rename 'or', 'and', 'xor' to avoid C++ conflict Pedro Alves
2015-02-10 15:05   ` Michael Eager
2015-02-10 18:11     ` Pedro Alves
2015-02-09 23:21 ` [PATCH 04/36] Fix struct, union, and enum nesting in C++ Pedro Alves
2015-02-09 23:21 ` [PATCH 26/36] Adjust self tests to cope with GDB built as a C++ program Pedro Alves
2015-02-09 23:21 ` [PATCH 29/36] Normalize TRY_CATCH exception handling block Pedro Alves
2015-02-09 23:21 ` [PATCH 27/36] catch_command_errors: Remove 'mask' parameter Pedro Alves
2015-02-09 23:21 ` [PATCH 28/36] Move exception_none to common code, and use it Pedro Alves
2015-02-09 23:21 ` [PATCH 25/36] python/python-internal.h: enum ‘ext_lang_rc’ not defined Pedro Alves
2015-02-09 23:21 ` [PATCH 17/36] mi/mi-cmd-stack.c|frame filters: print_values <-> ext_lang_frame_args Pedro Alves
2015-02-09 23:21 ` [PATCH 03/36] C++ keyword cleanliness, mostly auto-generated Pedro Alves
2015-02-11  7:57   ` Joel Brobecker
2015-02-11  8:52     ` Phil Muldoon
2015-02-11 10:27     ` Pedro Alves
2015-02-11 10:51       ` Pedro Alves
2015-02-12 12:19         ` Joel Brobecker
2015-02-12 13:14           ` Pedro Alves
2015-02-12 14:43             ` Pedro Alves
2015-02-12 14:59               ` Joel Brobecker
2015-02-27 17:41         ` Pedro Alves
2015-02-09 23:21 ` [PATCH 16/36] x86 Linux/ptrace: fix offsetof usage in C++ mode Pedro Alves
2015-02-09 23:21 ` [PATCH 19/36] Exported const objects Pedro Alves
2015-02-09 23:21 ` [PATCH 11/36] Make functions and variables exported by the IPA be extern "C" Pedro Alves
2015-02-09 23:22 ` [PATCH 33/36] TRY_CATCH -> TRY+CATCH+END_CATCH, the manual conversions Pedro Alves
2015-02-09 23:22 ` [PATCH 36/36] Make TRY/CATCH use real C++ try/catch in C++ mode Pedro Alves
2015-02-09 23:22 ` [PATCH 32/36] TRY_CATCH -> TRY+CATCH+END_CATCH everywhere Pedro Alves
2015-02-09 23:35 ` [PATCH 18/36] Rename struct lzma_stream to avoid clash with system header Pedro Alves
2015-02-09 23:45 ` [PATCH 06/36] record-btrace.c: Remove redefinitions Pedro Alves
2015-02-09 23:46 ` [PATCH 35/36] kill volatile struct gdb_exception Pedro Alves
2015-02-09 23:49 ` [PATCH 00/36] Support building GDB as a C++ program Doug Evans
2015-02-09 23:50 ` [PATCH 34/36] more making TRY/CATCH callers look more like real C++ try/catch blocks Pedro Alves
2015-03-07 15:59   ` Pedro Alves
2015-02-09 23:51 ` [PATCH 07/36] Make array object extern Pedro Alves
2015-02-27 22:47   ` Simon Marchi
2015-02-27 22:58     ` Pedro Alves
2015-02-27 23:04       ` Simon Marchi
2015-02-09 23:51 ` [PATCH 14/36] Do not do arithmetic on enum types Pedro Alves
2015-02-09 23:53 ` [PATCH 01/36] Create libiberty/libiberty.m4, have GDB and GDBserver use it Pedro Alves
2015-02-09 23:35   ` Pedro Alves
2015-02-27 16:23   ` Pedro Alves
2015-02-09 23:54 ` [PATCH 10/36] Add extern "C" to declarations of C symbols Pedro Alves
2015-02-11 11:51   ` Pedro Alves
2015-02-09 23:54 ` [PATCH 30/36] quit_force: Replace TRY_CATCH wrapper macros Pedro Alves
2015-02-10  0:21 ` [PATCH 24/36] breakpoint.h: move enum ‘print_stop_action’ Pedro Alves
2015-02-11 12:28   ` Yao Qi
2015-02-10 15:07 ` [PATCH 00/36] Support building GDB as a C++ program Michael Eager
2015-02-11 17:15 ` Yao Qi
2015-02-12 11:34   ` Pedro Alves
2015-02-17 23:19 ` Patrick Palka
2015-02-18 21:54   ` Yao Qi
2015-02-18 23:49     ` Patrick Palka
2015-02-27 18:19 ` Pedro Alves [this message]
2015-02-27 23:52   ` Patrick Palka
2015-02-28  0:09     ` Pedro Alves
2015-03-07 16:01   ` Pedro Alves
2015-03-07 17:58     ` [all pushed] " Pedro Alves
2015-03-16  4:42       ` asmwarrior
2015-03-16  5:05         ` asmwarrior
2015-03-16  5:22           ` asmwarrior
2015-03-16  7:15             ` asmwarrior
2015-03-16  8:20               ` asmwarrior
2015-03-16 11:43                 ` [pushed] stub-termcap.c: prototype tputs's parameter's parameter, for C++ mode (Re: [all pushed] Re: [PATCH 00/36] Support building GDB as a C++ program) Pedro Alves
2015-03-16 11:46                 ` [pushed] stub termcap, add extern "C" " Pedro Alves
2015-03-16 11:55                 ` [all pushed] Re: [PATCH 00/36] Support building GDB as a C++ program Pedro Alves
2015-03-16 11:42           ` Pedro Alves
2015-05-15  8:13             ` asmwarrior
2015-05-15  8:24               ` asmwarrior
2015-05-15 15:09                 ` Pedro Alves
2015-05-15 15:04               ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F0B52F.1050909@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox