From 67baf8c476074caad96ac5ed7ff990904e5678de Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 8 Mar 2012 13:53:03 +0000 Subject: 2012-03-08 Tristan Gingold * ldexp.c (exp_print_tree): Special case for SEGMENT_START. (exp_print_token): Constify. --- ld/ChangeLog | 5 +++++ ld/ldexp.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index a0a0d2b..daba2fd 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2012-03-08 Tristan Gingold + + * ldexp.c (exp_print_tree): Special case for SEGMENT_START. + (exp_print_token): Constify. + 2012-03-08 Alan Modra PR ld/10340 diff --git a/ld/ldexp.c b/ld/ldexp.c index bf0e00b..59743ea 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -59,7 +59,7 @@ exp_print_token (token_code_type code, int infix_p) static const struct { token_code_type code; - char * name; + const char * name; } table[] = { @@ -1145,6 +1145,17 @@ exp_print_tree (etree_type *tree) case DATA_SEGMENT_ALIGN: case DATA_SEGMENT_RELRO_END: function_like = TRUE; + break; + case SEGMENT_START: + /* Special handling because arguments are in reverse order and + the segment name is quoted. */ + exp_print_token (tree->type.node_code, FALSE); + fputs (" (\"", config.map_file); + exp_print_tree (tree->binary.rhs); + fputs ("\", ", config.map_file); + exp_print_tree (tree->binary.lhs); + fputc (')', config.map_file); + return; } if (function_like) { -- cgit v1.1