Date: Thu, 23 Jun 2016 11:57:47 +0200 From: Szabolcs Nagy <nsz@...t70.net> 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 * 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.