Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[BZ #974]
2005-04-13 H.J. Lu <hongjiu.lu@intel.com> [BZ #974] * csu/elf-init.c (__preinit_array_start): Take int, char **, char **. (__preinit_array_end): Likewise. (__init_array_start): Likewise. (__init_array_end): Likewise. (__libc_csu_init): Take int argc, char **argv, char **envp. Call preinit_array and init_array with argc, argv, envp. * sysdeps/generic/libc-start.c (LIBC_START_MAIN): Remove INIT_MAIN_ARGS. * sysdeps/powerpc/elf/libc-start.c (INIT_MAIN_ARGS): Removed. * elf/Makefile (distribute): Add tst-array5.c, tst-array5-static.c, tst-array5dep.c, and tst-array5.exp. (tests): Add tst-array5. (tests-static): Add tst-array5-static. ($(objpfx)tst-array5): New target. ($(objpfx)tst-array5.out): Likewise. ($(objpfx)tst-array5-static.out): Likewise. * elf/tst-array5-static.c: New file. * elf/tst-array5-static.exp: Likewise. * elf/tst-array5.c: Likewise. * elf/tst-array5.exp: Likewise. * elf/tst-array5dep.c: Likewise.
- Loading branch information
Ulrich Drepper
committed
Jul 7, 2005
1 parent
6f8116b
commit 04395c9
Showing
10 changed files
with
133 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#include "tst-array5.c" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
preinit array in executable: tst-array5-static | ||
init array in executable: tst-array5-static |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#include <string.h> | ||
#include <unistd.h> | ||
|
||
static void | ||
preinit_0 (int argc __attribute__ ((unused)), char **argv) | ||
{ | ||
char *p = strrchr (argv [0], '/'); | ||
|
||
if (p == NULL) | ||
return; | ||
|
||
p++; | ||
size_t len = strlen (p); | ||
write (STDOUT_FILENO, "preinit array in executable: ", 29); | ||
write (STDOUT_FILENO, p, len); | ||
write (STDOUT_FILENO, "\n", 1); | ||
} | ||
|
||
void (*const preinit_array []) (int, char **) | ||
__attribute__ ((section (".preinit_array"), aligned (sizeof (void *)))) = | ||
{ | ||
&preinit_0, | ||
}; | ||
|
||
static void | ||
init_0 (int argc __attribute__ ((unused)), char **argv) | ||
{ | ||
char *p = strrchr (argv [0], '/'); | ||
|
||
if (p == NULL) | ||
return; | ||
|
||
p++; | ||
size_t len = strlen (p); | ||
write (STDOUT_FILENO, "init array in executable: ", 26); | ||
write (STDOUT_FILENO, p, len); | ||
write (STDOUT_FILENO, "\n", 1); | ||
} | ||
|
||
void (*const init_array []) (int, char **) | ||
__attribute__ ((section (".init_array"), aligned (sizeof (void *)))) = | ||
{ | ||
&init_0, | ||
}; | ||
|
||
int | ||
main (void) | ||
{ | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
preinit array in executable: tst-array5 | ||
init array in DSO: tst-array5 | ||
init array in executable: tst-array5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#include <string.h> | ||
#include <unistd.h> | ||
|
||
static void | ||
init_0 (int argc __attribute__ ((unused)), char **argv) | ||
{ | ||
char *p = strrchr (argv [0], '/'); | ||
|
||
if (p == NULL) | ||
return; | ||
|
||
p++; | ||
size_t len = strlen (p); | ||
write (STDOUT_FILENO, "init array in DSO: ", 19); | ||
write (STDOUT_FILENO, p, len); | ||
write (STDOUT_FILENO, "\n", 1); | ||
} | ||
|
||
void (*const init_array []) (int, char **) | ||
__attribute__ ((section (".init_array"), aligned (sizeof (void *)))) = | ||
{ | ||
&init_0, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters