diff options
author | Roland McGrath <roland@hack.frob.com> | 2015-08-25 13:37:07 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2015-08-25 13:40:00 -0700 |
commit | 64c25345714d792b283c8c8469d58f898d1ef109 (patch) | |
tree | 254dafcfdc3278d9aa48ff3f499670e6f7003f2a | |
parent | 9031106ea063f0476bdabf3f5ec22758cdcf987b (diff) | |
download | glibc-fedora/2.22/master.zip glibc-fedora/2.22/master.tar.gz glibc-fedora/2.22/master.tar.bz2 |
NaCl: Call __nacl_main in preference to main.fedora/2.22/master
(cherry picked from commit f97194930886838796546646e26a49bb5899075b)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/nacl/start.c | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2015-08-25 Roland McGrath <roland@hack.frob.com> + + * sysdeps/nacl/start.c (_start): Call __nacl_main instead of main + if the weak reference is not null. + 2015-08-19 Andrew Senkevich <andrew.senkevich@intel.com> [BZ #18796] diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c index a4b6dd3..8e8bc1a 100644 --- a/sysdeps/nacl/start.c +++ b/sysdeps/nacl/start.c @@ -44,6 +44,10 @@ /* The application defines this, of course. */ extern int main (int argc, char **argv, char **envp); +/* But maybe it defines this too, in which case it takes precedence. */ +extern int __nacl_main (int argc, char **argv, char **envp) + __attribute__ ((weak)); + /* These are defined in libc. */ extern int __libc_csu_init (int argc, char **argv, char **envp); extern void __libc_csu_fini (void); @@ -59,7 +63,7 @@ _start (uint32_t info[]) { /* The generic code actually assumes that envp follows argv. */ - __libc_start_main (&main, + __libc_start_main (&__nacl_main ?: &main, nacl_startup_argc (info), nacl_startup_argv (info), nacl_startup_auxv (info), |