Bug 79732 - Not enough room for program headers (allocated 4, need 5)
Not enough room for program headers (allocated 4, need 5)
Status: CLOSED RAWHIDE
Product: Red Hat Raw Hide
Classification: Retired
Component: gcc (Show other bugs)
1.0
powerpc Linux
high Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks: 79579
  Show dependency treegraph
 
Reported: 2002-12-16 06:12 EST by Tim Waugh
Modified: 2008-05-01 11:38 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-01-30 14:30:11 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Tim Waugh 2002-12-16 06:12:40 EST
Description of problem:
When building Omni-0.7.2-1 I get this:

/bin/sh ../libtool --mode=link g++  -DUSE_STANDARD_NAMES=1 -DRETAIL=1  -Wall
-Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -fno-builtin
-fno-common   -o libKyocera_FS_3700.la -rpath /opt/Omni/lib -version-info 2:0:0
Kyocera_PCL_PrintModes.lo Kyocera_FS_1600__Resolutions.lo
Kyocera_Orientations.lo Kyocera_PCL_Commands.lo Kyocera_FS_1000_Trays.lo
Kyocera_FS_1700_Forms.lo Kyocera_PCL_Instance.lo Kyocera_PCL_Blitter.lo
Kyocera_F_1000A_F_1000_Medias.lo Kyocera_FS_3700.lo  -lsupc++
rm -fr .libs/libKyocera_FS_3700.la .libs/libKyocera_FS_3700.*
.libs/libKyocera_FS_3700.*
gcc -shared  Kyocera_PCL_PrintModes.lo Kyocera_FS_1600__Resolutions.lo
Kyocera_Orientations.lo Kyocera_PCL_Commands.lo Kyocera_FS_1000_Trays.lo
Kyocera_FS_1700_Forms.lo Kyocera_PCL_Instance.lo Kyocera_PCL_Blitter.lo
Kyocera_F_1000A_F_1000_Medias.lo Kyocera_FS_3700.lo  -lsupc++  -Wl,-soname
-Wl,libKyocera_FS_3700.so.2 -o .libs/libKyocera_FS_3700.so.2.0.0
/usr/bin/ld: .libs/libKyocera_FS_3700.so.2.0.0: Not enough room for program
headers (allocated 4, need 5)
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make: *** [libKyocera_FS_3700.la] Error 1

Version-Release number of selected component (if applicable):
binutils-2.13.90.0.16-3

How reproducible:
100%

Steps to Reproduce:
1. On test161.test, chroot to the build root; cd /tmp/omni/Omni
2. make
    
Making the soname shorter, or taking out arguments from the link line, gives no
error.
Comment 1 Tim Waugh 2002-12-16 07:11:23 EST
$ cat test.cpp
class Enumeration {
  public:
    virtual bool hasMoreElements () = 0;
};
                                                                                
Enumeration *
getEnumeration ()
{
   class PrintModeEnumerator : public Enumeration
   {
   public:
      virtual bool hasMoreElements ()
      {
        return false;
      }
   };
                                                                                
   return new PrintModeEnumerator ();
}
$ g++ -c test.cpp -fPIC -DPIC -o test.lo
$ readelf -Wa test.lo |  | grep linkonce\.r
  [15] .gnu.linkonce.r._ PROGBITS        00000000 0001cc 00002c 00  WA  0   0  4
  [20] .gnu.linkonce.r._ PROGBITS        00000000 000210 000010 00  WA  0   0  4
Comment 2 Tim Waugh 2002-12-16 08:04:10 EST
.s output is wrong; changing component.
Comment 3 Tim Waugh 2002-12-16 08:04:51 EST
gcc-3.2.1-2
Comment 4 Tim Waugh 2003-01-28 08:06:10 EST
This is still preventing a rebuild of Omni on ppc.
Comment 6 Jakub Jelinek 2003-01-30 14:30:11 EST
Fixed in gcc-3.2.1-5.

Note You need to log in before you can comment on or make changes to this bug.