"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/dmd/backend/elfobj.d" between
dmd-2.084.0.tar.gz and dmd-2.084.1.tar.gz

About: DMD (Digital Mars D) is the D reference compiler. D is an object-oriented, imperative, multi-paradigm system programming language.

elfobj.d  (dmd-2.084.0):elfobj.d  (dmd-2.084.1)
skipping to change at line 1954 skipping to change at line 1954
//printf("SegData = %p\n", SegData); //printf("SegData = %p\n", SegData);
int seg = ++seg_count; int seg = ++seg_count;
if (seg_count >= seg_max) if (seg_count >= seg_max)
{ // need more room in segment table { // need more room in segment table
seg_max += OB_SEG_INC; seg_max += OB_SEG_INC;
SegData = cast(seg_data **)mem_realloc(SegData,seg_max * (seg_data *).si zeof); SegData = cast(seg_data **)mem_realloc(SegData,seg_max * (seg_data *).si zeof);
memset(&SegData[seg_count], 0, (seg_max - seg_count) * (seg_data *).size of); memset(&SegData[seg_count], 0, (seg_max - seg_count) * (seg_data *).size of);
} }
assert(seg_count < seg_max); assert(seg_count < seg_max);
if (!SegData[seg]) if (!SegData[seg])
{ SegData[seg] = cast(seg_data *)mem_calloc((seg_data).sizeof); {
SegData[seg] = cast(seg_data *)mem_calloc(seg_data.sizeof);
//printf("test2: SegData[%d] = %p\n", seg, SegData[seg]); //printf("test2: SegData[%d] = %p\n", seg, SegData[seg]);
} }
else
memset(SegData[seg], 0, seg_data.sizeof);
seg_data *pseg = SegData[seg]; seg_data *pseg = SegData[seg];
pseg.SDseg = seg; pseg.SDseg = seg;
pseg.SDshtidx = shtidx; pseg.SDshtidx = shtidx;
pseg.SDoffset = 0; pseg.SDoffset = 0;
if (pseg.SDbuf) if (pseg.SDbuf)
pseg.SDbuf.setsize(0); pseg.SDbuf.setsize(0);
else else
{ if (SecHdrTab[shtidx].sh_type != SHT_NOBITS) { if (SecHdrTab[shtidx].sh_type != SHT_NOBITS)
{ {
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)