Return zero if the address could not be computed, or if not relevant.  */
 
 static CORE_ADDR
-ada_exception_name_addr_1 (enum ada_exception_catchpoint_kind ex,
-                          struct breakpoint *b)
+ada_exception_name_addr_1 (enum ada_exception_catchpoint_kind ex)
 {
   struct ada_inferior_data *data = get_ada_inferior_data (current_inferior ());
 
    and zero is returned.  */
 
 static CORE_ADDR
-ada_exception_name_addr (enum ada_exception_catchpoint_kind ex,
-                        struct breakpoint *b)
+ada_exception_name_addr (enum ada_exception_catchpoint_kind ex)
 {
   CORE_ADDR result = 0;
 
   try
     {
-      result = ada_exception_name_addr_1 (ex, b);
+      result = ada_exception_name_addr_1 (ex);
     }
 
   catch (const gdb_exception_error &e)
   struct bp_location *allocate_location () override;
   void re_set () override;
   void check_status (struct bpstat *bs) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
    catchpoint kinds.  */
 
 enum print_stop_action
-ada_catchpoint::print_it (bpstat *bs)
+ada_catchpoint::print_it (const bpstat *bs) const
 {
   struct ui_out *uiout = current_uiout;
 
       case ada_catch_exception_unhandled:
       case ada_catch_handlers:
        {
-         const CORE_ADDR addr = ada_exception_name_addr (m_kind, this);
+         const CORE_ADDR addr = ada_exception_name_addr (m_kind);
          char exception_name[256];
 
          if (addr != 0)
 
                      const address_space *aspace,
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 }
 
 enum print_stop_action
-exec_catchpoint::print_it (bpstat *bs)
+exec_catchpoint::print_it (const bpstat *bs) const
 {
   struct ui_out *uiout = current_uiout;
 
 
                      const address_space *aspace,
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 /* Implement the "print_it" method for fork catchpoints.  */
 
 enum print_stop_action
-fork_catchpoint::print_it (bpstat *bs)
+fork_catchpoint::print_it (const bpstat *bs) const
 {
   struct ui_out *uiout = current_uiout;
 
 
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
   void check_status (struct bpstat *bs) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 }
 
 enum print_stop_action
-solib_catchpoint::print_it (bpstat *bs)
+solib_catchpoint::print_it (const bpstat *bs) const
 {
   struct breakpoint *b = bs->breakpoint_at;
   struct ui_out *uiout = current_uiout;
 
                      const address_space *aspace,
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 /* Implement the "print_it" method for signal catchpoints.  */
 
 enum print_stop_action
-signal_catchpoint::print_it (bpstat *bs)
+signal_catchpoint::print_it (const bpstat *bs) const
 {
   struct target_waitstatus last;
   const char *signal_name;
 
                      const address_space *aspace,
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 /* Implement the "print_it" method for syscall catchpoints.  */
 
 enum print_stop_action
-syscall_catchpoint::print_it (bpstat *bs)
+syscall_catchpoint::print_it (const bpstat *bs) const
 {
   struct ui_out *uiout = current_uiout;
   struct breakpoint *b = bs->breakpoint_at;
 
 struct exception_catchpoint : public base_breakpoint
 {
   void re_set () override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 }
 
 enum print_stop_action
-exception_catchpoint::print_it (bpstat *bs)
+exception_catchpoint::print_it (const bpstat *bs) const
 {
   struct ui_out *uiout = current_uiout;
   int bp_temp;
 
 struct ordinary_breakpoint : public base_breakpoint
 {
   int resources_needed (const struct bp_location *) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
 };
 {
   void re_set () override;
   void check_status (struct bpstat *bs) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   void print_mention () override;
 };
 
 {
   void re_set () override;
   void check_status (struct bpstat *bs) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   void print_mention () override;
 };
 
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
   int resources_needed (const struct bp_location *) override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   bool print_one (struct bp_location **) override;
   void print_one_detail (struct ui_out *) const override;
   void print_mention () override;
 /* Implement the "print_it" method for ranged breakpoints.  */
 
 enum print_stop_action
-ranged_breakpoint::print_it (bpstat *bs)
+ranged_breakpoint::print_it (const bpstat *bs) const
 {
   struct bp_location *bl = loc;
   struct ui_out *uiout = current_uiout;
 }
 
 enum print_stop_action
-watchpoint::print_it (bpstat *bs)
+watchpoint::print_it (const bpstat *bs) const
 {
   struct breakpoint *b;
   enum print_stop_action result;
                       enum remove_bp_reason reason) override;
   int resources_needed (const struct bp_location *) override;
   bool works_in_software_mode () const override;
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   void print_one_detail (struct ui_out *) const override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
    watchpoints.  */
 
 enum print_stop_action
-masked_watchpoint::print_it (bpstat *bs)
+masked_watchpoint::print_it (const bpstat *bs) const
 {
   struct breakpoint *b = bs->breakpoint_at;
   struct ui_out *uiout = current_uiout;
 }
 
 enum print_stop_action
-breakpoint::print_it (bpstat *bs)
+breakpoint::print_it (const bpstat *bs) const
 {
   internal_error_pure_virtual_called ();
 }
 }
 
 enum print_stop_action
-ordinary_breakpoint::print_it (bpstat *bs)
+ordinary_breakpoint::print_it (const bpstat *bs) const
 {
   const struct bp_location *bl;
   int bp_temp;
 }
 
 enum print_stop_action
-internal_breakpoint::print_it (bpstat *bs)
+internal_breakpoint::print_it (const bpstat *bs) const
 {
   switch (type)
     {
 }
 
 enum print_stop_action
-momentary_breakpoint::print_it (bpstat *bs)
+momentary_breakpoint::print_it (const bpstat *bs) const
 {
   return PRINT_UNKNOWN;
 }
 
 
   /* The normal print routine for this breakpoint, called when we
      hit it.  */
-  virtual enum print_stop_action print_it (struct bpstat *bs);
+  virtual enum print_stop_action print_it (const bpstat *bs) const;
 
   /* Display information about this breakpoint, for "info
      breakpoints".  Returns false if this method should use the
      there are not enough hardware resources available.  */
   virtual bool works_in_software_mode () const;
 
-  enum print_stop_action print_it (struct bpstat *bs) override;
+  enum print_stop_action print_it (const bpstat *bs) const override;
   void print_mention () override;
   void print_recreate (struct ui_file *fp) override;
   bool explains_signal (enum gdb_signal) override;