[D-runtime] [D-Programming-Language/druntime] 561619: Removed unused »magic symbol« declarations.

GitHub noreply at github.com
Wed Nov 14 09:44:16 PST 2012


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/druntime
  Commit: 56161960cef70b836f8e4408452d2dbd6d03a1c7
      https://github.com/D-Programming-Language/druntime/commit/56161960cef70b836f8e4408452d2dbd6d03a1c7
  Author: David Nadlinger <code at klickverbot.at>
  Date:   2012-11-14 (Wed, 14 Nov 2012)

  Changed paths:
    M src/rt/memory.d

  Log Message:
  -----------
  Removed unused »magic symbol« declarations.


  Commit: 760aba5256d91327e5b4e79d931bceee4c068cd6
      https://github.com/D-Programming-Language/druntime/commit/760aba5256d91327e5b4e79d931bceee4c068cd6
  Author: David Nadlinger <code at klickverbot.at>
  Date:   2012-11-14 (Wed, 14 Nov 2012)

  Changed paths:
    M src/rt/memory.d

  Log Message:
  -----------
  Linux: Use 'end' instead of '_end' for determining end of data segments.

For initializing the GC ranges on startup, we need to know the
addresses range occupied by the static data segment (and BSS). For
this, we are using a magic symbol provided by the toolchain on
most UNIX-like systems (man 3 end).

This symbol is available in two flavors on GNU/Linux systems, '_end'
and 'end'. The use of the former has led to linking errors when an
executable also links to certain libraries (notably libcurl), where
the symbol appears to be no longer defined, on some Linux
distributions (Arch Linux, Fedora?).

This commit changes the druntime startup code to use the version
without the underscore instead, which does not seem to trigger the
problem.


  Commit: 1171f44c862474322bcc7ecaa94a7ad6e0e974ab
      https://github.com/D-Programming-Language/druntime/commit/1171f44c862474322bcc7ecaa94a7ad6e0e974ab
  Author: Alex Rønne Petersen <alex at lycus.org>
  Date:   2012-11-14 (Wed, 14 Nov 2012)

  Changed paths:
    M src/rt/memory.d

  Log Message:
  -----------
  Merge pull request #347 from klickverbot/segment-end-workaround

Linux: Use 'end' instead of '_end' for determining end of data segments.


Compare: https://github.com/D-Programming-Language/druntime/compare/2ad05196292b...1171f44c8624


More information about the D-runtime mailing list