{"push_id":1779200526,"size":13,"distinct_size":13,"ref":"refs/heads/poison-xnew","head":"ce8dcc58f13e218f709b4c9387af1aeec570f661","before":"8d766464abd1e81f690babfb7253d7b5262f0f23","commits":[{"sha":"923ca33982401c5700421a592d2b0ee083cbefa1","author":{"name":"GDB Administrator","email":"11ecb00f5f667eff143dbb3d0b19c76373a421f1@sourceware.org"},"message":"Automatic date update in version.in","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/923ca33982401c5700421a592d2b0ee083cbefa1"},{"sha":"c1a7f995fde43bad2b3e14c023434658509cc0aa","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"gdbarch: Remove displaced_step_free_closure\n\nThe displaced_step_free_closure gdbarch hook allows architectures to\nfree data they might have allocated to complete a displaced step.\nHowever, all architectures using that hook use the\nsimple_displaced_step_free_closure provided in arch-utils.{c,h}, which\ndoes a simple xfree.  We can remove it and do an xfree directly instead\nof calling the hook.\n\ngdb/ChangeLog:\n\n\t* gdbarch.sh (displaced_step_free_closure): Remove.\n\t* gdbarch.h, gdbarch.c: Re-generate.\n\t* aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set\n\tdisplaced_step_free_closure.\n\t* amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.\n\t* arm-linux-tdep.c (arm_linux_init_abi): Likewise.\n\t* i386-linux-tdep.c (i386_linux_init_abi): Likewise.\n\t* rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.\n\t* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.\n\t* s390-linux-tdep.c (s390_gdbarch_init): Likewise.\n\t* arch-utils.h (simple_displaced_step_free_closure): Remove.\n\t* arch-utils.c (simple_displaced_step_free_closure): Remove.\n\t* infrun.c (displaced_step_clear): Call xfree instead of\n\tgdbarch_displaced_step_free_closure.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/c1a7f995fde43bad2b3e14c023434658509cc0aa"},{"sha":"111fd50c0f2a8dbc2ab5280fac0c17078a8e2721","author":{"name":"Simon Marchi","email":"c02631fe8a6d90abae7e718219578c8cc860810b"},"message":"Fix memory leak in sysinfo\n\nNew in v2: try to fix all the leaks.  I made sure that sysinfo was actually\nbuilt with Asan while testing.\n\nI am trying to build the binutils-gdb repo with address sanitizer, but\nthe build fails because sysinfo (executed during the build) leaks, which\nfails its execution and interrupts the Makefile.\n\nDirect leak of 7122 byte(s) in 755 object(s) allocated from:\n    #0 0x7f050664e602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)\n    #1 0x403bca in yylex /home/emaisin/src/binutils-gdb/binutils/syslex.l:51\n    #2 0x4016f9 in yyparse /home/emaisin/build/binutils-gdb/binutils/sysinfo.c:1179\n    #3 0x4034b2 in main /home/emaisin/src/binutils-gdb/binutils/sysinfo.y:420\n    #4 0x7f050620d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)\n\nSUMMARY: AddressSanitizer: 7122 byte(s) leaked in 755 allocation(s).\n\nOne solution would have been to find a way to not pass\n-fsanitize=address when building sysinfo, but it's not clear how to omit\nthe flag for this program only.\n\nTo fix the leaks, we need to free the memory allocated by the token NAME\nwhenever we are done with it.\n\nbinutils/ChangeLog:\n\n\t* sysinfo.y: Free memory allocated by token NAME.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/111fd50c0f2a8dbc2ab5280fac0c17078a8e2721"},{"sha":"4561a406faf6a41e694e36f38e4d72047a0074df","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"Poison XNEW and friends for types that should use new instead","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/4561a406faf6a41e694e36f38e4d72047a0074df"},{"sha":"253755511f2d039f90e94ffa3cffe14bc6349bde","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"btrace: Store btrace_insn in an std::vector\n\nBecause it contains a non-POD type field (flags), the type btrace_insn\nshould be new'ed/delete'd.  Replace the VEC (btrace_insn_s) in\nbtrace_function with an std::vector.\n\ngdb/ChangeLog:\n\n\t* btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.\n\t(btrace_function) <insn>: Change type to use std::vector.\n\t* btrace.c (ftrace_debug, ftrace_call_num_insn,\n\tftrace_find_call, ftrace_new_gap, ftrace_update_function,\n\tftrace_compute_global_level_offset, btrace_stitch_bts,\n\tbtrace_clear, btrace_insn_get, btrace_insn_end,\n\tbtrace_insn_next, btrace_insn_prev): Adjust to change to\n\tstd::vector.\n\t(ftrace_update_insns): Adjust to change to std::vector, change\n\ttype of INSN parameter.\n\t(btrace_compute_ftrace_bts): Adjust call to\n\tftrace_update_insns.\n\t* record-btrace.c (btrace_call_history_insn_range,\n\tbtrace_compute_src_line_range,\n\trecord_btrace_frame_prev_register): Adjust to change to\n\tstd::vector.\n\t* python/py-record-btrace.c (recpy_bt_func_instructions): Adjust\n\tto change to std::vector.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/253755511f2d039f90e94ffa3cffe14bc6349bde"},{"sha":"44bd6c3be6447507d60f4735e3a61d95b3153b4a","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"linux-nat: C++ify lwp_info\n\nConvert the lwp_info type to C++ by adding a constructor and\ninitializing fields directly in the struct declaration.\n\ngdb/ChangeLog:\n\n\t* linux-nat.h (struct lwp_info): Add constructor, initialize\n\tfields with default values.\n\t<must_set_ptrace_flags, signalled, stopped, resumed, step,\n\tstopped_data_address, ignore_sigint>: Change type to bool.\n\t* linux-nat.c (lwp_free): Use delete on lp.\n\t(add_initial_lwp): Create lwp_info by calling lwp_info constructor.\n\t(delete_lwp): Likewise.\n\t(find_lwp_pid): Likewise.\n\t(linux_nat_post_attach_wait): Change type of SIGNALLED parameter\n\tto bool *.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/44bd6c3be6447507d60f4735e3a61d95b3153b4a"},{"sha":"bc047da0d577a30bc96b413f3e97d4d47e093379","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"[WIP] Create arch_lwp_info class hierarchy\n\nCurrently, the arch_lwp_info type is opaque to the generic linux-nat,\ndefined internally by the various arch-specific linux-nat\nimplementations.  This prevents us from using C++ features in these\ntypes, since it would otherwise be ODR violations.  Convert this to a\nproper class hierarchy, with arch_lwp_info being an abstract class, and\nvarious arches defining their own type extending it.\n\ngdb/ChangeLog:\n\n\t* linux-nat.h (arch_lwp_info): Define type, add virtual pure\n\tdestructor.\n\t(lwp_info) <arch_private>: Change type to use unique_ptr.\n\t* linux-nat.c (arch_lwp_info::~arch_lwp_info): Provide default\n\timplementation.\n\t(lwp_set_arch_private_info, lwp_arch_private_info): Adapt to use\n\tunique_ptr.\n\t(lwp_free): Don't delete lp->arch_private.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/bc047da0d577a30bc96b413f3e97d4d47e093379"},{"sha":"3552ea6315c0906c2972f0671c4a3a9d859800ba","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"mi: Free temporary uiout with delete\n\nAn ui_out object should be freed using delete.  Use a unique_ptr to make\nsure the temporary object created in mi_load_progress gets delete'd.\n\ngdb/ChangeLog:\n\n\t* mi/mi-main.c (mi_load_progress): Wrap temporary ui_out in\n\tunique_ptr.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/3552ea6315c0906c2972f0671c4a3a9d859800ba"},{"sha":"fea85182367a8da63b05f37f0b07817e28a09cd1","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"Create a displaced_step_closure class hierarchy\n\nFor the same reasons outlined in the \"Create arch_lwp_info class\nhierarchy\" patch, we need to replace the multiple definitions of\ndisplaced_step_closure by a proper class hierarchy.\n\nNote the change to the amd64 closure, please review this carefully.\n\ngdb/ChangeLog:\n\n\t* infrun.h (struct displaced_step_closure): Define structure\n\ttype, with a virtual pure destructor.\n\t* infrun.c (displaced_step_closure::~displaced_step_closure):\n\tProvide default implementation.\n\t(displaced_step_clear): Deallocate step closure with delete.\n\t* aarch64-tdep.c (displaced_step_closure): Rename to ...\n\t(aarch64_displaced_step_closure): ... this, extend\n\tdisplaced_step_closure.\n\t(aarch64_displaced_step_data) <dsc>: Change type to\n\taarch64_displaced_step_closure.\n\t(aarch64_displaced_step_copy_insn): Adjust to type change, use\n\tdelete instead of xfree.\n\t(aarch64_displaced_step_fixup): Add cast for displaced step\n\tclosure.\n\t* amd64-tdep.c (displaced_step_closure): Rename to ...\n\t(amd64_displaced_step_closure): ... this, extend\n\tdisplaced_step_closure.\n\t<insn_buf>: Change type to std::vector<gdb_byte>.\n\t<max_len>: Remove.\n\t(fixup_riprel): Change type of DSC parameter, adjust to type\n\tchange of insn_buf.\n\t(fixup_displaced_copy): Change type of DSC parameter.\n\t(amd64_displaced_step_copy_insn): Instantiate\n\tamd64_displaced_step_closure.\n\t(amd64_displaced_step_fixup): Add cast for closure type, adjust\n\tto type change of insn_buf.\n\t* arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of\n\tparameter DSC.\n\t(arm_linux_copy_svc): Likewise.\n\t(cleanup_kernel_helper_return): Likewise.\n\t(arm_catch_kernel_helper_return): Likewise.\n\t(arm_linux_displaced_step_copy_insn): Instantiate\n\tarm_displaced_step_closure.\n\t* arm-tdep.c (arm_pc_is_thumb): Add cast for closure.\n\t(displaced_read_reg): Change type of parameter DSC.\n\t(branch_write_pc): Likewise.\n\t(load_write_pc): Likewise.\n\t(alu_write_pc): Likewise.\n\t(displaced_write_reg): Likewise.\n\t(arm_copy_unmodified): Likewise.\n\t(thumb_copy_unmodified_32bit): Likewise.\n\t(thumb_copy_unmodified_16bit): Likewise.\n\t(cleanup_preload): Likewise.\n\t(install_preload): Likewise.\n\t(arm_copy_preload): Likewise.\n\t(thumb2_copy_preload): Likewise.\n\t(install_preload_reg): Likewise.\n\t(arm_copy_preload_reg): Likewise.\n\t(cleanup_copro_load_store): Likewise.\n\t(install_copro_load_store): Likewise.\n\t(arm_copy_copro_load_store) Likewise.\n\t(thumb2_copy_copro_load_store): Likewise.\n\t(cleanup_branch): Likewise.\n\t(install_b_bl_blx): Likewise.\n\t(arm_copy_b_bl_blx): Likewise.\n\t(thumb2_copy_b_bl_blx): Likewise.\n\t(thumb_copy_b): Likewise.\n\t(install_bx_blx_reg): Likewise.\n\t(arm_copy_bx_blx_reg): Likewise.\n\t(thumb_copy_bx_blx_reg): Likewise.\n\t(cleanup_alu_imm): Likewise.\n\t(arm_copy_alu_imm): Likewise.\n\t(thumb2_copy_alu_imm): Likewise.\n\t(cleanup_alu_reg): Likewise.\n\t(install_alu_reg): Likewise.\n\t(arm_copy_alu_reg): Likewise.\n\t(thumb_copy_alu_reg): Likewise.\n\t(cleanup_alu_shifted_reg): Likewise.\n\t(install_alu_shifted_reg): Likewise.\n\t(arm_copy_alu_shifted_reg): Likewise.\n\t(cleanup_load): Likewise.\n\t(cleanup_store): Likewise.\n\t(arm_copy_extra_ld_st): Likewise.\n\t(install_load_store): Likewise.\n\t(thumb2_copy_load_literal): Likewise.\n\t(thumb2_copy_load_reg_imm): Likewise.\n\t(arm_copy_ldr_str_ldrb_strb): Likewise.\n\t(cleanup_block_load_all): Likewise.\n\t(cleanup_block_store_pc): Likewise.\n\t(cleanup_block_load_pc): Likewise.\n\t(arm_copy_block_xfer): Likewise.\n\t(thumb2_copy_block_xfer): Likewise.\n\t(cleanup_svc): Likewise.\n\t(install_svc): Likewise.\n\t(arm_copy_svc): Likewise.\n\t(thumb_copy_svc): Likewise.\n\t(arm_copy_undef): Likewise.\n\t(thumb_32bit_copy_undef): Likewise.\n\t(arm_copy_unpred): Likewise.\n\t(arm_decode_misc_memhint_neon): Likewise.\n\t(arm_decode_unconditional): Likewise.\n\t(arm_decode_miscellaneous): Likewise.\n\t(arm_decode_dp_misc): Likewise.\n\t(arm_decode_ld_st_word_ubyte): Likewise.\n\t(arm_decode_media): Likewise.\n\t(arm_decode_b_bl_ldmstm): Likewise.\n\t(arm_decode_ext_reg_ld_st): Likewise.\n\t(thumb2_decode_dp_shift_reg): Likewise.\n\t(thumb2_decode_ext_reg_ld_st): Likewise.\n\t(arm_decode_svc_copro): Likewise.\n\t(thumb2_decode_svc_copro): Likewise.\n\t(install_pc_relative): Likewise.\n\t(thumb_copy_pc_relative_16bit): Likewise.\n\t(thumb_decode_pc_relative_16bit): Likewise.\n\t(thumb_copy_pc_relative_32bit): Likewise.\n\t(thumb_copy_16bit_ldr_literal): Likewise.\n\t(thumb_copy_cbnz_cbz): Likewise.\n\t(thumb2_copy_table_branch): Likewise.\n\t(cleanup_pop_pc_16bit_all): Likewise.\n\t(thumb_copy_pop_pc_16bit): Likewise.\n\t(thumb_process_displaced_16bit_insn): Likewise.\n\t(decode_thumb_32bit_ld_mem_hints): Likewise.\n\t(thumb_process_displaced_32bit_insn): Likewise.\n\t(thumb_process_displaced_insn): Likewise.\n\t(arm_process_displaced_insn): Likewise.\n\t(arm_displaced_init_closure): Likewise.\n\t(arm_displaced_step_fixup): Add cast for closure.\n\t* arm-tdep.h: Include infrun.h.\n\t(displaced_step_closure): Rename to ...\n\t(arm_displaced_step_closure): ... this, extend\n\tdisplaced_step_closure.\n\t<u::svc::copy_svc_os>: Change type of parameter DSC.\n\t<cleanup>: Likewise.\n\t(arm_process_displaced_insn): Likewise.\n\t(arm_displaced_init_closure): Likewise.\n\t(displaced_read_reg): Likewise.\n\t(displaced_write_reg): Likewise.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/fea85182367a8da63b05f37f0b07817e28a09cd1"},{"sha":"fabddb759dd8857e99ea6fadb04adf4f1265b6af","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"WIP Create private_inferior class hierarchy\n\nFor the same reasons, create a class hierarchy for platform-specific\ninferior data.\n\nFIXME: should test darwin, probably things to change there.\n\ngdb/ChangeLog:\n\n\t* inferior.h (private_inferior): Define structure type, add\n\tvirtual pure destructor.\n\t(inferior) <priv>: Change type to unique_ptr.\n\t* inferior.c (private_inferior::~private_inferior): Provide\n\tdefault implementation.\n\t(inferior::~inferior): Don't free priv field.\n\t(exit_inferior_1): Likewise.\n\t* darwin-nat.h (private_inferior): Rename to ...\n\t(darwin_private_inferior): ... this, extend private_inferior.\n\t* remote.c (private_inferior): Rename to ...\n\t(remote_private_inferior): ... this.\n\t(remote_commit_resume): Instantiate remote_private_inferior, add\n\tcast, adjust to usage of unique_ptr.\n\t(check_pending_event_prevents_wildcard_vcont_callback): Add\n\tcast.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/fabddb759dd8857e99ea6fadb04adf4f1265b6af"},{"sha":"15c245f3aa4edced306baa4c1384fbde4c20a152","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"Use new/delete for struct objfile\n\nThe objfile objects should be new'ed and delete'd.  This patch does a\nvery basic C++ification pass by giving data members a default values and\nadding a constructor.\n\nobjfile has some fields of type psymbol_allocation_list, so convert it\nas well.\n\ngdb/ChangeLog:\n\n\t* objfiles.h (struct objfile): Initialize data members with\n\tdefault values, add constructor.\n\t* objfiles.c (allocate_objfile): Create objfile using\n\tconstructor.\n\t(objfile::objfile): New, based on previous allocate_objfile.\n\t(free_objfile): Free using delete.\n\t* symfile.h (psymbol_allocation_list): Initialize data members\n\twith default values.\n\t<clear>: New method.\n\t* symfile.c (reread_symbols): Call\n\tpsymbol_allocation_list::clear.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/15c245f3aa4edced306baa4c1384fbde4c20a152"},{"sha":"f408225f19aba87bca9ba44247189e056a89f95e","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"remote: C++ify a bit thread_item and threads_listing_context\n\nWhat would be a cleaner way to implement threads_listing_context_remove?\n\ngdb/ChangeLog:\n\n\t* remote.c (struct thread_item): Add constructor.\n\t<extra, name>: Change type to std::string.\n\t(thread_item_t): Remove typedef.\n\t(DEF_VEC_O(thread_item_t)): Remove.\n\t(threads_listing_context) <items>: Change type to std::vector.\n\t(clear_threads_listing_context): Remove.\n\t(threads_listing_context_remove): Adjust to vector change.\n\t(remote_newthread_step): Use thread_item constructor, adjust to\n\tchange to std::vector.\n\t(start_thread): Use thread_item, adjust to change to std::vector.\n\t(end_thread): Adjust to change to std::vector.\n\t(remote_get_threads_with_qthreadinfo): Use thread_item\n\tconstructor.\n\t(remote_update_thread_list): Adjust to change to std::vector.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/f408225f19aba87bca9ba44247189e056a89f95e"},{"sha":"ce8dcc58f13e218f709b4c9387af1aeec570f661","author":{"name":"Simon Marchi","email":"64f757e6d553be2119779d07ae9f1dc4014e138f@polymtl.ca"},"message":"Create private_thread_info hierarchy\n\ngdb/ChangeLog:\n\n\t* gdbthread.h (private_thread_info): Define structure type, add\n\tvirtual pure destructor.\n\t(thread_info) <priv>: Change type to unique_ptr.\n\t<private_dtor>: Remove.\n\t* thread.c (add_thread_with_info): Adjust to use of unique_ptr.\n\t(private_thread_info::~private_thread_info): Provide default\n\timplementation.\n\t(thread_info::~thread_info): Don't call private_dtor nor\n\tmanually free priv.\n\t* aix-thread.c (private_thread_info): Rename to ...\n\t(aix_private_thread_info): ... this.\n\t* darwin-nat.h (private_thread_info): Rename to ...\n\t(darwin_private_thread_info): ... this.\n\t* linux-thread-db.c (private_thread_info): Rename to ...\n\t(thread_db_private_thread_info): ... this.\n\t<dying>: Change type to bool.\n\t(update_thread_state): Adjust to type rename.\n\t(record_thread): Adjust to type rename an use of unique_ptr.\n\t(thread_db_pid_to_str): Likewise.\n\t(thread_db_extra_thread_info): Likewise.\n\t(thread_db_get_thread_local_address): Likewise.\n\t* nto-tdep.h (private_thread_info): Rename to ...\n\t(nto_private_thread_info): ... this.\n\t* nto-tdep.c (nto_extra_thread_info): Adjust to type rename and\n\tuse of unique_ptr.\n\t* remote.c (private_thread_info): Rename to ...\n\t(remote_private_thread_info): ... this, initialize data members\n\twith default values.\n\t<extra, name>: Change type to std::string.\n\t(free_private_thread_info): Remove.\n\t(get_private_info_thread): Change return type, adjust to use of\n\tunique_ptr, use remote_private_thread_info constructor.\n\t(get_private_info_ptid): Change return type.\n\t(remote_thread_name): Use get_private_info_thread, adjust to\n\tchange to std::string.\n\t(remote_update_thread_list): Adjust to type name change, move\n\tstrings from temporary to long-lived object instead of\n\tduplicating.\n\t(remote_threads_extra_info): Use get_private_info_thread.\n\t(process_initial_stop_replies): Likewise.\n\t(resume_clear_thread_private_info): Likewise.\n\t(remote_resume): Adjust to type name change.\n\t(remote_commit_resume): Use get_private_info_thread.\n\t(process_stop_reply): Adjust to type name change.\n\t(remote_stopped_by_sw_breakpoint): Use get_private_info_thread.\n\t(remote_stopped_by_hw_breakpoint): Likewise.\n\t(remote_stopped_by_watchpoint): Likewise.\n\t(remote_stopped_data_address): Likewise.\n\t(remote_core_of_thread): Likewise.","distinct":true,"url":"https://api.github.com/repos/simark/binutils-gdb/commits/ce8dcc58f13e218f709b4c9387af1aeec570f661"}]}
{"actor":{"display_login":"simark"}}