X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=ld%2Fldexp.c;h=b33329dc30e18344640032bf6090c896a2500230;hb=1c4a55f2a122b25bb030a3455538b74d8bb9b821;hp=c9d707e793e64950cc8256a6ca4a5bf46174baab;hpb=0805fd512c596ac5eae500ccd9de5791f48e964b;p=pf3gnuchains%2Fpf3gnuchains4x.git diff --git a/ld/ldexp.c b/ld/ldexp.c index c9d707e793..b33329dc30 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -99,6 +99,7 @@ exp_print_token (token_code_type code, int infix_p) { SIZEOF, "SIZEOF" }, { ADDR, "ADDR" }, { LOADADDR, "LOADADDR" }, + { CONSTANT, "CONSTANT" }, { MAX_K, "MAX_K" }, { REL, "relocatable" }, { DATA_SEGMENT_ALIGN, "DATA_SEGMENT_ALIGN" }, @@ -623,6 +624,16 @@ fold_name (etree_type *tree) } break; + case CONSTANT: + if (strcmp (tree->name.name, "MAXPAGESIZE") == 0) + new_abs (bfd_emul_get_maxpagesize (default_target)); + else if (strcmp (tree->name.name, "COMMONPAGESIZE") == 0) + new_abs (bfd_emul_get_commonpagesize (default_target)); + else + einfo (_("%F%S: unknown constant `%s' referenced in expression\n"), + tree->name.name); + break; + default: FAIL (); break;