Print this page
10823 should ignore DW_TAG_subprogram with DW_AT_declaration tags
10824 GCC7-derived CTF can double qualifiers on arrays
10825 ctfdump -c drops last type
10826 ctfdump -c goes off the rails with a missing parent
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Jason King <jason.king@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/test/util-tests/tests/ctf/check-forward.c
          +++ new/usr/src/test/util-tests/tests/ctf/check-forward.c
↓ open down ↓ 2 lines elided ↑ open up ↑
   3    3   * Common Development and Distribution License ("CDDL"), version 1.0.
   4    4   * You may only use this file in accordance with the terms of version
   5    5   * 1.0 of the CDDL.
   6    6   *
   7    7   * A full copy of the text of the CDDL should have accompanied this
   8    8   * source.  A copy of the CDDL is also available via the Internet at
   9    9   * http://www.illumos.org/license/CDDL.
  10   10   */
  11   11  
  12   12  /*
  13      - * Copyright (c) 2019, Joyent, Inc.
       13 + * Copyright 2019, Joyent, Inc.
  14   14   */
  15   15  
  16   16  /*
  17   17   * Verify that we can properly handle forward declarations.
  18   18   *
  19   19   * In test-forward.c barp is declared as a union, not a struct. However, today
  20   20   * the CTF tooling does not contain enough information to know whether a forward
  21   21   * declaration was for a struct or a union, only that it was a forward.
  22   22   * Therefore, the type printing information assumes at the moment that the type
  23   23   * is a struct. In a future revision of the CTF type data, we should encode this
↓ open down ↓ 78 lines elided ↑ open up ↑
 102  102                              ctf_errmsg(ret));
 103  103                          ret = EXIT_FAILURE;
 104  104                          continue;
 105  105                  }
 106  106  
 107  107                  if (!ctftest_check_symbols(fp, check_syms))
 108  108                          ret = EXIT_FAILURE;
 109  109  
 110  110                  for (j = 0; descents[j].cdt_sym != NULL; j++) {
 111  111                          if (!ctftest_check_descent(descents[j].cdt_sym, fp,
 112      -                            descents[j].cdt_tests)) {
      112 +                            descents[j].cdt_tests, B_FALSE)) {
 113  113                                  ret = EXIT_FAILURE;
 114  114                          }
 115  115                  }
 116  116  
 117  117  
 118  118                  for (j = 0; members[j].cmt_type != NULL; j++) {
 119  119                          if (!ctftest_check_members(members[j].cmt_type, fp,
 120  120                              members[j].cmt_kind, members[j].cmt_size,
 121  121                              members[j].cmt_members)) {
 122  122                                  ret = EXIT_FAILURE;
 123  123                          }
 124  124                  }
 125  125  
 126  126                  ctf_close(fp);
 127  127          }
 128  128  
 129  129          return (ret);
 130  130  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX