Print this page
4436 ::dis -b fails to separate address columns

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mdb/common/mdb/mdb_cmds.c
          +++ new/usr/src/cmd/mdb/common/mdb/mdb_cmds.c
↓ open down ↓ 2002 lines elided ↑ open up ↑
2003 2003          if (opt_w == FALSE) {
2004 2004                  n++;
2005 2005                  while ((eaddr == 0 && n-- != 0) || (addr < eaddr)) {
2006 2006                          naddr = mdb_dis_ins2str(dis, tgt, as,
2007 2007                              buf, sizeof (buf), addr);
2008 2008                          if (naddr == addr)
2009 2009                                  return (DCMD_ERR);
2010 2010                          if (opt_a)
2011 2011                                  mdb_printf("%-#32p%8T%s\n", addr, buf);
2012 2012                          else if (opt_b)
2013      -                                mdb_printf("%-#10p%-#32a%8T%s\n",
     2013 +                                mdb_printf("%-#?p  %-#32a%8T%s\n",
2014 2014                                      addr, addr, buf);
2015 2015                          else
2016 2016                                  mdb_printf("%-#32a%8T%s\n", addr, buf);
2017 2017                          addr = naddr;
2018 2018                  }
2019 2019  
2020 2020          } else {
2021 2021  #ifdef __sparc
2022 2022                  if (addr & 0x3) {
2023 2023                          mdb_warn("address is not properly aligned\n");
↓ open down ↓ 3 lines elided ↑ open up ↑
2027 2027  
2028 2028                  for (oaddr = mdb_dis_previns(dis, tgt, as, addr, n);
2029 2029                      oaddr < addr; oaddr = naddr) {
2030 2030                          naddr = mdb_dis_ins2str(dis, tgt, as,
2031 2031                              buf, sizeof (buf), oaddr);
2032 2032                          if (naddr == oaddr)
2033 2033                                  return (DCMD_ERR);
2034 2034                          if (opt_a)
2035 2035                                  mdb_printf("%-#32p%8T%s\n", oaddr, buf);
2036 2036                          else if (opt_b)
2037      -                                mdb_printf("%-#10p%-#32a%8T%s\n",
     2037 +                                mdb_printf("%-#?p  %-#32a%8T%s\n",
2038 2038                                      oaddr, oaddr, buf);
2039 2039                          else
2040 2040                                  mdb_printf("%-#32a%8T%s\n", oaddr, buf);
2041 2041                  }
2042 2042  
2043 2043                  if ((naddr = mdb_dis_ins2str(dis, tgt, as,
2044 2044                      buf, sizeof (buf), addr)) == addr)
2045 2045                          return (DCMD_ERR);
2046 2046  
2047 2047                  mdb_printf("%<b>");
2048 2048                  mdb_flush();
2049 2049                  if (opt_a)
2050 2050                          mdb_printf("%-#32p%8T%s%", addr, buf);
2051 2051                  else if (opt_b)
2052      -                        mdb_printf("%-#10p%-#32a%8T%s", addr, addr, buf);
     2052 +                        mdb_printf("%-#?p  %-#32a%8T%s", addr, addr, buf);
2053 2053                  else
2054 2054                          mdb_printf("%-#32a%8T%s%", addr, buf);
2055 2055                  mdb_printf("%</b>\n");
2056 2056  
2057 2057                  for (addr = naddr; n-- != 0; addr = naddr) {
2058 2058                          naddr = mdb_dis_ins2str(dis, tgt, as,
2059 2059                              buf, sizeof (buf), addr);
2060 2060                          if (naddr == addr)
2061 2061                                  return (DCMD_ERR);
2062 2062                          if (opt_a)
2063 2063                                  mdb_printf("%-#32p%8T%s\n", addr, buf);
2064 2064                          else if (opt_b)
2065      -                                mdb_printf("%-#10p%-#32a%8T%s\n",
     2065 +                                mdb_printf("%-#?p  %-#32a%8T%s\n",
2066 2066                                      addr, addr, buf);
2067 2067                          else
2068 2068                                  mdb_printf("%-#32a%8T%s\n", addr, buf);
2069 2069                  }
2070 2070          }
2071 2071  
2072 2072          mdb_set_dot(addr);
2073 2073          return (DCMD_OK);
2074 2074  }
2075 2075  
↓ open down ↓ 994 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX