Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: third_party/yasm/patched-yasm/modules/dbgfmts/codeview/cv-symline.c

Issue 6170009: Update our yasm copy to yasm 1.1.0 (Part 1: yasm side)... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * CodeView debugging format - symbol and line information 2 * CodeView debugging format - symbol and line information
3 * 3 *
4 * Copyright (C) 2006-2007 Peter Johnson 4 * Copyright (C) 2006-2007 Peter Johnson
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 10 matching lines...) Expand all
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE. 28 * POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 #include <util.h> 30 #include <util.h>
31 /*@unused@*/ RCSID("$Id: cv-symline.c 2130 2008-10-07 05:38:11Z peter $"); 31 /*@unused@*/ RCSID("$Id: cv-symline.c 2258 2010-01-03 01:04:18Z peter $");
32 32
33 #include <libyasm.h> 33 #include <libyasm.h>
34 34
35 #include "cv-dbgfmt.h" 35 #include "cv-dbgfmt.h"
36 36
37 enum cv8_symheadtype { 37 enum cv8_symheadtype {
38 CV8_DEBUG_SYMS = 0xF1, /* CV5 symbol information */ 38 CV8_DEBUG_SYMS = 0xF1, /* CV5 symbol information */
39 CV8_LINE_NUMS = 0xF2, /* line numbers for a section */ 39 CV8_LINE_NUMS = 0xF2, /* line numbers for a section */
40 CV8_FILE_STRTAB = 0xF3, /* filename string table */ 40 CV8_FILE_STRTAB = 0xF3, /* filename string table */
41 CV8_FILE_INFO = 0xF4 /* source file info */ 41 CV8_FILE_INFO = 0xF4 /* source file info */
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 cv8_linepair pairs[126]; 127 cv8_linepair pairs[126];
128 size_t num_pairs; 128 size_t num_pairs;
129 } cv8_lineset; 129 } cv8_lineset;
130 130
131 typedef struct cv8_lineinfo { 131 typedef struct cv8_lineinfo {
132 STAILQ_ENTRY(cv8_lineinfo) link; 132 STAILQ_ENTRY(cv8_lineinfo) link;
133 const cv_filename *fn; /* filename associated with line numbers */ 133 const cv_filename *fn; /* filename associated with line numbers */
134 yasm_section *sect; /* section line numbers are for */ 134 yasm_section *sect; /* section line numbers are for */
135 yasm_symrec *sectsym; /* symbol for beginning of sect */ 135 yasm_symrec *sectsym; /* symbol for beginning of sect */
136 unsigned long num_linenums; 136 unsigned long num_linenums;
137 STAILQ_HEAD(, cv8_lineset) linesets; 137 STAILQ_HEAD(cv8_lineset_head, cv8_lineset) linesets;
138 } cv8_lineinfo; 138 } cv8_lineinfo;
139 139
140 /* Symbols use a bit of meta-programming to encode formats: each character 140 /* Symbols use a bit of meta-programming to encode formats: each character
141 * of format represents the output generated, as follows: 141 * of format represents the output generated, as follows:
142 * 'b' : 1 byte value (integer) 142 * 'b' : 1 byte value (integer)
143 * 'h' : 2 byte value (integer) 143 * 'h' : 2 byte value (integer)
144 * 'w' : 4 byte value (integer) 144 * 'w' : 4 byte value (integer)
145 * 'Y' : symrec SECREL+SECTION (pointer) 145 * 'Y' : symrec SECREL+SECTION (pointer)
146 * 'T' : type index (integer) 146 * 'T' : type index (integer)
147 * 'S' : length-prefixed string (pointer) 147 * 'S' : length-prefixed string (pointer)
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 return bc; 412 return bc;
413 } 413 }
414 414
415 typedef struct cv_line_info { 415 typedef struct cv_line_info {
416 yasm_section *debug_symline; 416 yasm_section *debug_symline;
417 yasm_object *object; 417 yasm_object *object;
418 yasm_dbgfmt_cv *dbgfmt_cv; 418 yasm_dbgfmt_cv *dbgfmt_cv;
419 yasm_linemap *linemap; 419 yasm_linemap *linemap;
420 yasm_errwarns *errwarns; 420 yasm_errwarns *errwarns;
421 unsigned int num_lineinfos; 421 unsigned int num_lineinfos;
422 STAILQ_HEAD(, cv8_lineinfo) cv8_lineinfos; 422 STAILQ_HEAD(cv8_lineinfo_head, cv8_lineinfo) cv8_lineinfos;
423 /*@null@*/ cv8_lineinfo *cv8_cur_li; 423 /*@null@*/ cv8_lineinfo *cv8_cur_li;
424 /*@null@*/ cv8_lineset *cv8_cur_ls; 424 /*@null@*/ cv8_lineset *cv8_cur_ls;
425 } cv_line_info; 425 } cv_line_info;
426 426
427 static int 427 static int
428 cv_generate_line_bc(yasm_bytecode *bc, /*@null@*/ void *d) 428 cv_generate_line_bc(yasm_bytecode *bc, /*@null@*/ void *d)
429 { 429 {
430 cv_line_info *info = (cv_line_info *)d; 430 cv_line_info *info = (cv_line_info *)d;
431 yasm_dbgfmt_cv *dbgfmt_cv = info->dbgfmt_cv; 431 yasm_dbgfmt_cv *dbgfmt_cv = info->dbgfmt_cv;
432 size_t i; 432 size_t i;
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1088 yasm_internal_error(N_("unknown leaf format character")); 1088 yasm_internal_error(N_("unknown leaf format character"));
1089 } 1089 }
1090 ch++; 1090 ch++;
1091 } 1091 }
1092 1092
1093 *bufp = buf; 1093 *bufp = buf;
1094 1094
1095 yasm_intnum_destroy(cval); 1095 yasm_intnum_destroy(cval);
1096 return 0; 1096 return 0;
1097 } 1097 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698