This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> I have been unable to cleanly bootstrap GCC on the trunk since the > HOST_WIDE_INT use of "long long" change. > I would appreciate any help in trying to track this down as I am > not having much luck. First, isolate the .i (or .ii file) that differs in the assembly output. Then, isolate the two compilers that produce this. >From there, you can put a printf in routines that are heavily used, and print out something that doesn't change about them INSN_UUID, __func__, lineno... from compile to compile (not addresses of rtx structures). Run, and see if the .s output is still failing. If it is, you can then run diff on the debugging output (can be easier to do this with diff, then doing it in on online session in gdb). At the first difference, you work in more prints between the last one that worked and the current one. Or, do this in an online way with two gdb's running side by side. Run with -da, find first difference, break on gen_rtx or add_insn or one of those... Go up a level, set a break point on calling site, rerun to that temporal instance. I usually binary search with cont 50, cont 100, cont 200, or, cont 25, cont 13, cont 7... then step into the routine, watching for the different. In a large complex function, binary searching with next 20, next 40 and so on, until you find a difference is fairly quick. And then you repeat. After doing this for a day, it becomes easier and more automatic. Also, you learn to slant the binary seach to favor running for a shorter period of time, instead of in the middle, as if you miss it, it takes more time and energy to get back to the right temporal spot. This is standard debugging trick #135. Now, if only I could find the web pages that describes it in all is glory detail.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |