Commit | Line | Data |
---|---|---|
4f471f39 RS |
1 | if test -n "$VXWORKS_BASE_EM_FILE" ; then |
2 | . "${srcdir}/emultempl/${VXWORKS_BASE_EM_FILE}.em" | |
3 | fi | |
4 | ||
5 | cat >>e${EMULATION_NAME}.c <<EOF | |
6 | ||
7 | static int force_dynamic; | |
8 | ||
9 | static void | |
10 | vxworks_after_open (void) | |
11 | { | |
12 | ${LDEMUL_AFTER_OPEN-gld${EMULATION_NAME}_after_open} (); | |
13 | ||
14 | if (force_dynamic | |
15 | && link_info.input_bfds | |
16 | && !_bfd_elf_link_create_dynamic_sections (link_info.input_bfds, | |
17 | &link_info)) | |
18 | einfo ("%X%P: Cannot create dynamic sections %E\n"); | |
19 | ||
20 | if (!force_dynamic | |
21 | && !link_info.shared | |
22 | && elf_hash_table (&link_info)->dynamic_sections_created) | |
23 | einfo ("%X%P: Dynamic sections created in non-dynamic link\n"); | |
24 | } | |
25 | ||
26 | EOF | |
27 | ||
28 | PARSE_AND_LIST_PROLOGUE=$PARSE_AND_LIST_PROLOGUE' | |
29 | enum { | |
30 | OPTION_FORCE_DYNAMIC = 501 | |
31 | }; | |
32 | ' | |
33 | ||
34 | PARSE_AND_LIST_LONGOPTS=$PARSE_AND_LIST_LONGOPTS' | |
35 | {"force-dynamic", no_argument, NULL, OPTION_FORCE_DYNAMIC}, | |
36 | ' | |
37 | ||
38 | PARSE_AND_LIST_OPTIONS=$PARSE_AND_LIST_OPTIONS' | |
39 | fprintf (file, _("\ | |
40 | --force-dynamic Always create dynamic sections\n")); | |
41 | ' | |
42 | ||
43 | PARSE_AND_LIST_ARGS_CASES=$PARSE_AND_LIST_ARGS_CASES' | |
44 | case OPTION_FORCE_DYNAMIC: | |
45 | force_dynamic = 1; | |
46 | break; | |
47 | ' | |
48 | ||
49 | LDEMUL_AFTER_OPEN=vxworks_after_open |