Bug 8090 - ELF patch for editors/emacs (emacs-19.34b)
Summary: ELF patch for editors/emacs (emacs-19.34b)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1998-09-29 18:30 UTC by TAOKA Satoshi
Modified: 1998-10-10 05:37 UTC (History)
0 users

See Also:


Attachments
file.diff (21.04 KB, patch)
1998-09-29 18:30 UTC, TAOKA Satoshi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description TAOKA Satoshi 1998-09-29 18:30:00 UTC
[ELF patch for editors/emacs (emacs-19.34b)]

This PR has two patch files for editors/emacs (emacs-19.34b).
patch-ac is a file which is renewed, and patch-ae is a new patch file.
These were derived from emacs-20.3.

[Notice]
If you apply new patch-ac, then -ltermcap is linked to emacs instead of
-lncurses. Because emacs terminates with a message 'Fatal error (11)'
if -lncurses is linked under ELF system.

Fix: #!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.2).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1998-09-30 01:41 JST by <taoka@cal.infonets.hiroshima-u.ac.jp>.
# Source directory was `/a/brenda/work'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#   1973 -rw-r--r-- patch-ac
#  17911 -rw-r--r-- patch-ae
#
save_IFS="${IFS}"
IFS="${IFS}:"
gettext_dir=FAILED
locale_dir=FAILED
first_param="$1"
for dir in $PATH
do
  if test "$gettext_dir" = FAILED && test -f $dir/gettext \
     && ($dir/gettext --version >/dev/null 2>&1)
  then
    set `$dir/gettext --version 2>&1`
    if test "$3" = GNU
    then
      gettext_dir=$dir
    fi
  fi
  if test "$locale_dir" = FAILED && test -f $dir/shar \
     && ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
  then
    locale_dir=`$dir/shar --print-text-domain-dir`
  fi
done
IFS="$save_IFS"
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
then
  echo=echo
else
  TEXTDOMAINDIR=$locale_dir
  export TEXTDOMAINDIR
  TEXTDOMAIN=sharutils
  export TEXTDOMAIN
  echo="$gettext_dir/gettext -s"
fi
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  $echo 'WARNING: not restoring timestamps.  Consider getting and'
  $echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
if mkdir _sh06928; then
  $echo 'x -' 'creating lock directory'
else
  $echo 'failed to create lock directory'
  exit 1
fi
# ============= patch-ac ==============
if test -f 'patch-ac' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'patch-ac' '(file already exists)'
else
  $echo 'x -' extracting 'patch-ac' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'patch-ac' &&
Comment 1 TAOKA Satoshi 1998-09-30 09:09:22 UTC
> [ELF patch for editors/emacs (emacs-19.34b)]
> 
> This PR has two patch files for editors/emacs (emacs-19.34b).
> patch-ac is a file which is renewed, and patch-ae is a new patch file.
> These were derived from emacs-20.3.

The next patch-ae is very smaller than patch-ae in the previous PR.

[The new patch-ae]

--- orig/unexelf.c	Wed Jul 17 07:39:03 1996
+++ src/unexelf.c	Wed Sep 30 09:35:47 1998
@@ -845,7 +845,9 @@
 
       for (; symp < symendp; symp ++)
 	if (strcmp ((char *) (symnames + symp->st_name), "_end") == 0
-	    || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0)
+	    || strcmp ((char *) (symnames + symp->st_name), "end") == 0
+	    || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0
+	    || strcmp ((char *) (symnames + symp->st_name), "edata") == 0)
 	  memcpy (&symp->st_value, &new_bss_addr, sizeof (new_bss_addr));
     }
 

Note that patch-ac is needed in the previous PR.

> [Notice]
> If you apply new patch-ac, then -ltermcap is linked to emacs instead of
> -lncurses. Because emacs terminates with a message 'Fatal error (11)'
> if -lncurses is linked under ELF system.

I found that emacs runs if both -lncurses and -ltermcap are linked to
emacs. Why?
Comment 2 Steve Price freebsd_committer freebsd_triage 1998-10-10 05:36:33 UTC
State Changed
From-To: open->closed

Update committed, thanks!