Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CC: Warning: unresolved $section symbol s\\xxx #112

Closed
rurban opened this issue Mar 13, 2015 · 1 comment
Closed

CC: Warning: unresolved $section symbol s\\xxx #112

rurban opened this issue Mar 13, 2015 · 1 comment

Comments

@rurban
Copy link
Owner

rurban commented Mar 13, 2015

Original issue 110 created by rurban on 2012-10-15T15:59:53.000Z:

pb -MO=CC,-v,-obinarytrees.perl.c ../shootout/bench/binarytrees/binarytrees.perl

vs

pb -MO=C,-v,-obinarytrees.perl.c ../shootout/bench/binarytrees/binarytrees.perl

Some ENTERSUB op fields are empty because those symbols were never visited, such as op->next and op->first.

{ 0, 0, /*OP_ENTERSUB*/NULL, 9, 173, 0, 1, 0, 0, 0, 0x46, 0x21, 0 }, /* unop_list[2] */

vs.
{ &op_list[8], &op_list[8], /OP_ENTERSUB/NULL, 9, 173, 0, 1, 0, 0, 0, 0x46, 0x21, (OP_)&unop_list[4] }, /_ unop_list[3] */

@rurban
Copy link
Owner Author

rurban commented Mar 13, 2015

Comment #1 originally posted by rurban on 2012-10-15T20:42:37.000Z:

Fixed with 91b6646

Save ENTERSUB next and first fields
first is not not needed as its generally NULL,
but next is needed to end the ENTERSUB loop (here unop_list[2])

DOOP(PL_ppaddr[OP_ENTERSUB]);
while (PL_op != ((OP*)&unop_list[2])->op_next &&  PL_op != (OP*)0 ){
    PL_op = (*PL_op->op_ppaddr)(aTHX);
    SPAGAIN;}

I keep the unresolved $section symbol s\xxx warning with verbose but added
a better description.

This is most likely a critical internal compiler bug, esp. if in
With B::C this is most likely a critical internal compiler bug, esp. if in
an op section.
With B::CC it can be caused by valid optimizations, e.g. when op->next
pointers were inlined or inlined GV or CONST ops were optimized away.

@rurban rurban closed this as completed Mar 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant