This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: what's the right way to use custom entry point
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Cong Monkey <congzhangzh at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Tue, 25 Oct 2016 22:09:39 +0200
- Subject: Re: what's the right way to use custom entry point
- Authentication-results: sourceware.org; auth=none
- References: <CAOXDmPrEA1hEaP35Cu29LtzVHMPqBqveGj8E5cowZgngqBWxSA@mail.gmail.com>
* Cong Monkey:
> Hi,
>
> I want use custom entry point, but it's very strange!
>
> entry_point_test.c file:
>
> int sayhello(int argc, char** argv)
> {
> return 0;
> }
> if I do:
> cc ../entry_point_test.c -o entry_point_test -Wl,-esayhello
> -nostartfiles #cc works
> ./a.out
> then I get:
> # Segmentation fault
>
> anyone can help what should I do?
It depends on the system. In general, the entry point function must
not return because there is nothing to return to. In general, you
need to perform a system call to terminate the process.
I checked your example on Linux, and it works. The crash happens
after the function returns.