|
Message-ID: <6565c836f72584243dd443e4cd291763@codeaurora.org> Date: Thu, 23 Jun 2016 07:22:57 -0700 From: weimingz@...eaurora.org To: weimingz@...eaurora.org Cc: musl@...ts.openwall.com, Rich Felker <dalias@...ifal.cx>, Rich Felker <dalias@...c.org> Subject: Re: build musl for armv7m Correct. Thank you Szabolcs. Weiming On 2016-06-23 02:57, Szabolcs Nagy wrote: > * weimingz@...eaurora.org <weimingz@...eaurora.org> [2016-06-22 > 23:04:18 -0700]: >> If it is not a weak symbol, you may get "multi-def" error. It depends >> on the >> obj/lib order on command line. > > the only external symbol definition with non-weak binding > in the exit.o object is exit. > > so the only way exit.o can get linked is an undefined reference > to exit. > > you only need to make sure that -lc is at the end of the cmdline > when you want to interpose exit with your own definition > (then libc exit.o wont get linked in). > > but to repeat rich: interposing libc symbols can break things. > >> If it is a weak symbol, then a non-weak symbol can override it. >> >> Anyway, your comment reminds me that we can use -wrap=exit to override >> it. >> So no change is needed. >> >> btw, will you commit the change of those .s files for armv7m ? >> >> Thanks, >> Weiming >> >> On 2016-06-22 21:22, Rich Felker wrote: >> >On Wed, Jun 22, 2016 at 05:21:54PM -0700, Zhao, Weiming wrote: >> >>Fixed. >> >> >> >>Btw, can we make exit() weak function? (patch attached) >> >> >> >>This allows user code to redefine it because in baremetal >> >>environment, sometime we want to customize it. For example, some >> >>code never exits, so we can define a dummy exit() and thus save code >> >>size. >> > >> >No, this is a hack and is not even needed to do what you're asking >> >for. The way linking an archive works, an object in the archive is >> >only pulled in to the link process when it satisfies an undefined >> >symbol reference, and if you defined your own exit, then exit.o would >> >never have reason to get linked. >> > >> >But there are all sorts of things that can break unexpectedly from >> >redefining standard functions, which is why it's UB and this is not >> >supported usage. >> > >> >Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.