Bug 464574

Summary: Prelinking fails on RH 4 SP 4 due to ".debug_loc adjusting unfinished"
Product: Red Hat Enterprise Linux 4 Reporter: Seppo Sahrakorpi <seppo>
Component: prelinkAssignee: Jakub Jelinek <jakub>
Status: CLOSED WONTFIX QA Contact: BaseOS QE <qe-baseos-auto>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.4   
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 16:56:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Verbose output of failing prelinking none

Description Seppo Sahrakorpi 2008-09-29 16:21:55 UTC
Created attachment 317990 [details]
Verbose output of failing prelinking

Description of problem:


Prelinking fails on RH 4 SP 4 due to ".debug_loc adjusting unfinished"


kepi:/home/seppo/Bugs/Bug_9378 > cat /etc/*-rel*
cat: /etc/lsb-release.d: Is a directory
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

kepi:/home/seppo/Bugs/Bug_9378 > uname -a
Linux kepi.totalviewtech.com 2.6.9-42.0.2.ELsmp #1 SMP Thu Aug 17 17:57:31 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

kepi:/home/seppo/Bugs/Bug_9378 > rpm -q glibc
glibc-2.3.4-2.25
glibc-2.3.4-2.25
kepi:/home/seppo/Bugs/Bug_9378 > 


/usr/bin/gcc -MD -ansi -g -fPIC -c ./repro_dump_solib_corefile.c -o repro_dump_solib_corefile.o

/usr/bin/gcc -o repro_dump_solib_corefile.so -shared -Wl,-rpath,/usr/lib repro_dump_solib_corefile.o


> /usr/sbin/prelink ./repro_dump_solib_corefile.so
/usr/sbin/prelink: /nfs/netapp0/user/home/seppo/Bugs/Bug_9378/repro_dump_solib_corefile.so: .debug_loc adjusting unfinished
/usr/sbin/prelink: Could not write prelink cache: Permission denied



Attached please find result of

/usr/sbin/prelink -v ./repro_dump_solib_corefile.so > & ! prelink_verbose.txt


XXXXXXXXXXXX repro
#include <stdio.h>

long foo = 3;

int godump (int argc, const char *arg)
{
  int *bazzbarf = 0;
  printf ("Goodbye from %s\n", arg);
  fflush (stdout);
  foo -= 4;
  bazzbarf = (int*)foo;
  *bazzbarf = 123456789;
  printf ("Oops -- %s failed to crash\n", arg);
  return (argc);
}  /* godump */

/*
 * Dump a core file when called from a dlopened shared library.
 */
int dump_from_solib()
{
  return godump (1, "dump_from_solib");
}
XXXXXXXXXXXXXXXXXX

Comment 1 Jiri Pallich 2012-06-20 16:56:49 UTC
Thank you for submitting this issue for consideration in Red Hat Enterprise Linux. The release for which you requested us to review is now End of Life. 
Please See https://access.redhat.com/support/policy/updates/errata/

If you would like Red Hat to re-consider your feature request for an active release, please re-open the request via appropriate support channels and provide additional supporting details about the importance of this issue.