[haiku-bugs] Re: [Haiku] #10402: [PATCHSET] Port kernel, bootloader and runtime_loader to Clang.

  • From: "korli" <trac@xxxxxxxxxxxx>
  • Date: Mon, 13 Jan 2014 16:52:37 -0000

#10402: [PATCHSET] Port kernel, bootloader and runtime_loader to Clang.
---------------------------+----------------------------
   Reporter:  js           |      Owner:  nobody
       Type:  enhancement  |     Status:  new
   Priority:  normal       |  Milestone:  R1
  Component:  - General    |    Version:  R1/Development
 Resolution:               |   Keywords:
 Blocked By:               |   Blocking:
Has a Patch:  1            |   Platform:  All
---------------------------+----------------------------

Comment (by korli):

 Replying to [comment:9 js]:
 > Dropping static from patch 3 would obviously cause linking errors, as
 every file including that .h would then emit that symbol. The static is
 very important here. It could be changed to a define, but the difference
 would only be that it is not typed anymore.

 I disagree, it's C++, not C.

 >
 > As for patch 6, it seems `__dso_handle` does not need to have a value
 because only its address is used (see also
 http://www.lowlevel.eu/wiki/C%2B%2B and http://wiki.osdev.org/C%2B%2B).
 Initializing it would also move it from section .bss to section .data -
 that is not really desirable.

 libgcc defines the variable [http://cgit.haiku-
 os.org/buildtools/tree/gcc/libgcc/crtstuff.c#n308 here]. Today
 runtime_loader doesn't have this symbol, but other loadable objects have
 it in the data section. runtime_loader can probably be seen as a main
 program, so setting to zero should be fine.

--
Ticket URL: <http://dev.haiku-os.org/ticket/10402#comment:10>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: