Search Results

Search found 23480 results on 940 pages for '32 bit'.

Page 61/940 | < Previous Page | 57 58 59 60 61 62 63 64 65 66 67 68  | Next Page >

  • Why is windows 7 marking all my extra RAM as "hardware reserved"?

    - by pinkmuppet
    I have a new HP Z800 Workstation, running Windows 7 Enterprise 64 bit. The machine has 4GB of RAM -- windows reported 1.99GB available, 2GB was "hardware reserved". I added another 2 GB and windows reports that there is 6GB of physical RAM, but now 4GB is "hardware reserved". The BIOS sees the full RAM amount as well. The video card is an nVida Quadro FX 580, so it shouldn't be using any shared memory at all. whats going on? Z800 Specs are here.

    Read the article

  • Can't access some websites with any browser

    - by Charles Kingsmill
    I'm running Windows 7 64-bit on a new Samsung laptop and accessing the internet okay via ethernet cable to my university's ISP. Some sites work fine (e.g. google.com) but I can't access others at all (microsoft.com, topshop.com). I can't connect to those sites in safe mode with networking. And ping and tracert both fail. There's no proxy. Other users can connect successfully to these sites using my cable and socket. I've tried all the following with no success: using various browsers (IE9, FF, Chrome) creating a new user updating drivers clearing the DNS cache using OpenDNS and Google's DNS turning off Avast tweaking the MTU running MS malicious software removal tool running Spybot S&D reviewing the hosts file disabling the IPv6 options repairing / resetting winsock settings disabling advanced javascript options I have run out of ideas... can anyone see anything I've missed??!

    Read the article

  • How to copy partition from one disc to another (boot partition keeping all the vital data)?

    - by Patryk
    I have bought a new laptop but the HDD, which runs at 5400 rpm, is not sufficient for me. The laptop runs Windows 7 64-bit. I have my 'old' one (a better one - Seagate Momentus 7200 rpm) and I would like to replace it but without reinstalling everything. And there my question arises: can I copy my boot partition from my laptop hard drive to my old drive so that it will boot from it properly? If so, then how to do it? Will Norton Ghost be useful here? My point would be to just replace this partition and leave the rest.

    Read the article

  • Windows hangs on Rename, Delete and Move for specific MKV files

    - by Creativehavoc
    I have been googling this issue for a long time, and no full solutions seem to be out there. For certain mkv files, windows hangs when moving, copying, or deleting. These files play fine in a player such as GOM player. System: a fast windows 7, 64 bit box. Results: CPU change is negligible Memory usage rockets up to ~100% In cased of delete or move, "discovering files" dialogue box stays up for a long time Rename simply shows spinning icon until it finishes Action is completed after EXTREMELY long amount of time Memory usage does not return to normal "Fixes:" Disable thumbnail creation (helps for some cases) After move/rename/delete kill explorer with taskmanager, and relaunch to re-claim your memory Even with the thumbnails turned off, the issue persists. I have also tried re-muxing a file, which worked fine, but still resulted in a file with the same above issues.

    Read the article

  • Wake timers don't wake computer from sleep mode

    - by Joe
    I'm got a custom built PC running 64 bit Windows 7 Ultimate. So far everything works great except for one thing: it will not wake up from sleep mode for a wake timer or scheduled task. Sleep mode itself works great. If it's sleeping, it wakes successfully when I press the power button, mash the keyboard, wiggle the mouse, or send a WOL packet. The only problem is wake timers. I even tried the program WakeupOnStandBy but it looks like that uses wake timers, so it doesn't do anything for me either. And yes, wake timers are enabled: Any ideas on how to fix the problem, or troubleshoot it? I'd imagine that there would be a log somewhere telling me exactly why the wake timers are having trouble, but if there is I haven't found it.

    Read the article

  • iTunes sees my iPhone, but Windows 7 x64 doesn't

    - by Herb Caudill
    After reinstalling Windows 7 (64-bit), it has stopped recognizing my iPhone. I can see it in iTunes but not in Windows Explorer, so I can't get the photos off. I'm having this problem on three different machines and two different iPhones (my wife's and mine). It's maddening. I've had every version of iPhone since it first came out and I've never had this problem before. I've uninstalled and reinstalled iTunes (currently at 10.2.1.1). I've updated iOS on the phone (currently at 4.3). In the device manager, this is what I see: Here's the properties screen for the unrecognized iPhone: And here's what I get after going through the "update driver" process: Any ideas? At the end of my rope here...

    Read the article

  • Keyboard doesn't let me press certain keys at the same time

    - by kitchen
    I'm not sure how to word the problem other than I can't use certain keys at the same time. For example, when playing games that require you to use the arrow keys to move and jump/duck I am unable to move to the left and jump (left arrow + up arrow) at the same time. As a result, I don't play many games when I get to a point where the jumps and what not are too far. This happens with other keys as well. In FPS I am unable to hold W to move forward and hit 2 to select my secondary weapon. Some information that might help you: I am using Windows 7 64-bit I am using a Micro Innovations KB565BL keyboard How can I fix this?

    Read the article

  • Proper way to re-image Windows 7?

    - by Alec
    I had a driver completely fail on me so I have to restore my computer from a system image backup. I used an installation DVD to run the Re-Image utility on there, but after 8 hours of "preparing the image" to be restored, it began restoring to my hard drive. After 12 hours there, it was 5-8% complete. I figured I must have done something wrong or it started doing something wrong. So I installed a fresh copy of Win-7 and ran the utility from there. It's going at the same snail's pace. I still think I must be doing something incorrectly - I don't see how it could possibly take so long, I could probably manually flip the on my hard drive and be done before that utility. Am I doing this correctly or is there something else I should be doing? Edit: In case my hardware is relevant: Win 7 64 bit Core i7 8 GB Ram 640GB Internal 1TB External connected via eSATA I had approximately 400GB of data on my computer before it crashed.

    Read the article

  • Packet loss with all adapters on one PC only on the LAN

    - by Enigmativity
    I have a Windows 7 64-bit machine that is losing up to 20% of IP packets on both adapters - wireless & LAN. Browser traffic appears to be affected the most, but it is happening to all protocols. All other computers on the network are functioning fine. If I ping from my faulty machine to any machine on the LAN (wired or wirelessly), including the router/gateway and internet sites, I get up to 20% packet loss. If I do the following commands: ipconfig /release ipconfig /renew then I sometimes get my network performance back for a matter of a few seconds to less than a couple of minutes. Rebooting also works for a short period of time. This problem has been occurring for a couple of months and is getting worse. The computer used to work just fine. I updated the wireless adapter firmware the other day with no effect. Does anyone know what is happening?

    Read the article

  • Windows 7 x64 CD to MP3 ripper

    - by marc_s
    I'm trying to find a good, simple CD-to-MP3 ripper to copy my physical CD's to my computer's hard disk. I'm running Windows 7 Professional x64 - and that appears to be a major problem. All the "usual" free- and shareware tools I've tried (CD-to-MP3, Visual MP3 and quite a few more) seem to have trouble with either 64-bit Windows, or with my HP CD/DVD built into my HP Compaq Elite 8100 machine. Does anyone have any good recommendations? I don't want to install a monster like iTunes - something really clean, small, simple would be fine. Free- or Shareware - if it works reliably and with good quality output, I'll be happy to register! Any hints are welcome!

    Read the article

  • Unable to sync the Zune software with my HTC HD7

    - by Varpi
    I have a brand new HTC HD7 with Windows Phone 7, with no Software installed. I am running on Windows 7 64 bit. Whenever I try to sync my Mobile Device with Zune- I get this message: Can't connect to your phone. Disconnect it, restart it, then try connecting again I've downloaded latest Zune software and all updates. I don't have any certificates on my personal certificates. My phone is listed under Portable devices in Device manager (It shows as phone with driver version 4.7.965.0). I've restarted both my computer and the mobile device few times. I tried unlocking the device during the Zune sync Any ideas as to how I can sync my phone ?

    Read the article

  • Laptop freezes on Wireless Mouse Adapter attach/detach

    - by Sergiy Byelozyorov
    I am using Microsoft Wireless Notebook Optical Mouse 3000 with Toshiba Satellite Pro P300-1CG. Recently I have installed Windows 7 64-bit. Now once in a while when I plug-in or plug-out wireless mouse adapter, the computer freezes (image stays on the screen, but the computer is not responsive). I have noticed that it mostly happens after I recover my computer from sleep mode. To continue using laptop I have to shut it down by pressing and holding power button for 7 seconds and then booting it up again. What can be done to prevent this?

    Read the article

  • Having trouble with EPSON Stylus SX130 scanner

    - by pinouchon
    I am trying to scan files with an EPSON Stylus SX130 on windows 7 x64. When i plug in the printer, windows automatically find drivers for printing, but not for scanning. So i go to the manufacturer website to download the drivers, select windows 7 64-bit and download drivers for EPSON Scan. The install works fine, but when i try to scan a file (eg: from paint or Windows fax and scan), the folowing message pops up and freezes the application : the progress bar plays the animation forever and the application does not respond. I then have no choice to kill the application with the task manager. Do you have an idea of what's going on ? How can i fix the problem, ie: how do i get the scanner actually scan files without freezing ? I tried to install the driver from the CD given in the printer package, and got the same problem. The only help i found so far (the error seems somewhat related) is this : Install a xp virtual machine and run it in there

    Read the article

  • How to diagnose a Windows XP hard crash

    - by Jon
    I have a 64-bit Windows XP machine which has hard crashed several times today. The symptoms are that the screen just goes blank, then the reboot cycle starts. There is no blue screen and even though it is switched on, no crash dump file is created. On all occasions it has happened during a period of high CPU/memory activity. I have run a full Dell diagnostics with no failures. Any ideas how to track this down further? Thanks.

    Read the article

  • Recover Bios HP DV9700T windows 7 64

    - by petebob796
    I downloaded the latest DV9700t bios (.59) and ran the update tool in windows 7 64. This seemed to go ok and did the usual system will shutdown in 10 seconds dialog. Updon the reboot nothing happens I get no BIOS screen or anything so I think the bios update went wrong. Which I am annoyed about I have never known a bios update to fail before and lots of people on the internet seem to have had the same problem with the same model. There is a way to recover apparently using crisdisk utility and creating a bootable usb key then holding win+b at power on, unfortunately the utility to make the disk doesn't seem to work in 64 bit versions of windows, the only type I have easy access to. Anyone know a way to create the boot disk in 64?

    Read the article

  • Network not detected, but internet working

    - by Dave
    I am using a brand new HP computer with Windows 7 64 bit. When I first hooked it up it detected my network (hooked up through ethernet) easily. However, after I uninstalled Norton Internet Security, it stopped being able to detect my home network. I can still use the internet as if connected, but I can't go into the network options to communicate with other computers. I had this same problem on Windows Vista on my previous computer. Is there any way to fix this so it detects the network?

    Read the article

  • icons in windows 7 taskbar moving by themselves

    - by valya
    I'm using Windows 7 64 bit. Few days ago I pinned another one application to taskbar and moved it to the left side. But it moved to the right by itself! I tried to return it to the left side but it went to the right again. The same thing happens now with another application (I've uninstalled the application from the first paragraph - not because of a bug, I just don't like it). It's really annoying. I want it on the left side! How to lock it in? I don't know why but it have (2) in the taskbar shortcut's name: 'Mindjet MindManager 8 (2)'

    Read the article

  • icons in windows 7 taskbar moving by themselves

    - by valya
    I'm using Windows 7 64 bit. Few days ago I pinned another one application to taskbar and moved it to the left side. But it moved to the right by itself! I tried to return it to the left side but it went to the right again. The same thing happens now with another application (I've uninstalled the application from the first paragraph - not because of a bug, I just don't like it). It's really annoying. I want it on the left side! How to lock it in? I don't know why but it have (2) in the taskbar shortcut's name: 'Mindjet MindManager 8 (2)'

    Read the article

  • Cannot run gnome-session

    - by Brian
    I'm having issues running an X Windows session on a RHEL5 64-bit server - whenever I execute the command "gnome-session &", the process goes into the background but nothing happens. I have Exceed installed on my Windows machine which is running when I try to start the gnome-session. I've tried just starting firefox by itself instead of the whole gnome session, but it doesn't work either. Any suggestions? BTW, here's the error message I get when I try to start firefox: firefox: Fatal IO error 104 (Connection reset by peer) on X server localhost:10.0.

    Read the article

  • Getting the keyboard working on a MacBook under Windows XP x64

    - by Theran
    Despite Windows XP Professional x64's unsupported status on MacBooks (model A1181), I've managed to get most of the hardware working by manually installing either the drivers on the OS X Snow Leopard CD, or finding the appropriate drivers online. However, even after installing the Apple keyboard driver from the CD, I can't get Windows to actually use the special driver. Instead, the keyboard just shows up as a generic USB keyboard, with non-functioning Fn and other special keys. Being unable to generate a right-click or Ctrl-Alt-Del makes Windows a bit of a challenge to use. I've tried: uninstalling and reinstalling the keyboard driver removing the keyboard under device manager and letting Windows re-detect it using device manager to manually update the driver How do I get the special functions of the MacBook keyboard working under XP x64?

    Read the article

  • Most common C# bitwise operations

    - by steffenj
    For the life of me, I can't remember how to set, delete, toggle or test a bit in a bitfield. Either I'm unsure or I mix them up because I rarely need these. So a "bit-cheat-sheet" would be nice to have. For example: flags = flags | FlagsEnum.Bit4; // Set bit 4. or if ((flags == FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way? Can you give examples of all the other common operations, preferably in C# syntax using a [Flags] enum?

    Read the article

  • Population count of rightmost n integers

    - by Jason Baker
    I'm implementing Bagwell's Ideal Hash Trie in Haskell. To find an element in a sub-trie, he says to do the following: Finding the arc for a symbol s, requires ?nding its corresponding bit in the bit map and then counting the one bits below it in the map to compute an index into the ordered sub-trie. What is the best way to do this? It sounds like the most straightforward way of doing this is to select the bits below that bit and do a population count on the resulting number. Is there a faster or better way to do this?

    Read the article

  • Administering Team Foundation Server 2010 Class resource links

    - by John Alexander
    Here are the resource links for the Administering Team Foundation Server 2010 Class from last week in Minneapolis.  Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Microsoft® Virtual PC 2007 SP1 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e13b15a-fd74-4cd7-b53e-bdf9456855bd Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Windows Virtual PC http://www.microsoft.com/downloads/en/details.aspx?FamilyID=509c3ba1-4efc-42b5-b6d8-0232b2cbb26e Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Windows Server 2008 Hyper-V http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e0198b64-4acb-4709-b07f-359fb4d523bc Customizable process guidance http://blogs.msdn.com/b/allclark/archive/2010/08/12/customizable-process-guidance.aspx The 5 most read Visual Studio ALM help topics on MSDN http://blogs.msdn.com/b/allclark/archive/2010/11/12/the-5-most-read-visual-studio-alm-help-topics-on-msdn.aspx Inside TFS http://visualstudiomagazine.com/Articles/List/Inside-TFS.aspx Testing Topics http://msdn.microsoft.com/en-us/library/dd286594.aspx Blogs http://community.accentient.com http://geekswithblogs.net Branching Guide http://tfsbranchingguideiii.codeplex.com/ Great VSTS blog http://geekswithblogs.net/hinshelm/Default.aspx My Blog :D http://geekswithblogs.net/jalexander/Default.aspx Visual Studio Forums http://bit.ly/fE16u3 TFS Migration and Integration Solutions http://bit.ly/cLaBnT TFS Migration and Integration Tools (VS ALM Rangers) http://bit.ly/9tHWdG TFS Migration and Integration Platform (CodePlex) http://tfsintegration.codeplex.com Team Foundation Server SDK http://code.msdn.microsoft.com/TfsSdk Migrate and Integration Forum http://bit.ly/f4Lnps Team Foundation Server Widgets http://www.tfswidgets.com TFS Sdk http://code.msdn.microsoft.com/TfsSdk TFS Migration and Integration Solutions http://bit.ly/cLaBnT TFS Integration Tools Forum http://bit.ly/f4Lnps TFS Integration Tools http://bit.ly/9tHWdG TFS Integration Platform http://tfsintegration.codeplex.com VS Upgrade Guide http://vs2010upgradeguide.codeplex.com Updating an Upgraded Team Project to Access New Features http://bit.ly/9cCcMP Team Foundation Power Tools http://bit.ly/dfNVQk Team Foundation Administration Tool http://tfsadmin.codeplex.com Using Team Foundation Server Command-Line Tools http://bit.ly/hCyozJ Changing Groups and Permissions with TFSSecurity http://bit.ly/esIjgw Unofficial Prep guide for TFS 2010 Administration Exam (70-512) http://geekswithblogs.net/enriquelima/archive/2010/07/21/unofficial-prep-guide-for-tfs-2010-administration-exam-70-512.aspx Another Prep Guide http://bit.ly/bpO30R Professional Application Lifecycle Management with VS 2010 Book http://bit.ly/9rCIRj Search CodePlex for TFS related apps http://www.codeplex.com/site/search Visual Studio Gallery http://visualstudiogallery.com TFS Widgets http://tfswidgets.com Migrate from Visual SourceSafe http://bit.ly/8XPSRh Team Foundation Server MSSCCI Provider 2010 http://bit.ly/dst1OQ Attrice TFS Sidekicks www.attrice.info/cm/tfs Hosted TFS http://bit.ly/cMZdvp Manually Processing the Team Foundation Server 2010 Data Warehouse and Analysis Services Database http://bit.ly/aG5oEh TFS 2005, 2008 and 2010 Compatibility http://shrinkster.com/1dhj

    Read the article

  • net.tcp Listener Adapter and net.tcp Port Sharing Service not starting on reboot

    - by Peter K.
    I am using the net.tcp protocol for various web services. When I reboot my Windows 7 Ultimate (64-bit) macbook pro, the service never restarts automatically, even though that is how they are set: The only relevant events I can see are in the System Event Log: Error 6/9/2011 19:47 Service Control Manager 7001 None The Net.Tcp Listener Adapter service depends on the Net.Tcp Port Sharing Service service which failed to start because of the following error: The service did not respond to the start or control request in a timely fashion." Error 6/9/2011 19:47 Service Control Manager 7000 None The Net.Tcp Port Sharing Service service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion." Error 6/9/2011 19:47 Service Control Manager 7009 None A timeout was reached (30000 milliseconds) while waiting for the Net.Tcp Port Sharing Service service to connect. This post suggests that it's something else blocking the port (in the post it's SCCM 2007 R3 Client which I don't use). What else could be the problem? If it's something else blocking the port, how do I figure out what? When I manually start the services, they start correctly. Dependencies are: Net.Tcp Port Sharing Service Net.Tcp Listener Adapter Still no luck, but I think the problem might be that my network connection takes too long to come up. I put in a custom view of the event log, and found these items: The first in the series says: A timeout was reached (30000 milliseconds) while waiting for the Net.Tcp Port Sharing Service service to connect.

    Read the article

  • Ancillary Objects: Separate Debug ELF Files For Solaris

    - by Ali Bahrami
    We introduced a new object ELF object type in Solaris 11 Update 1 called the Ancillary Object. This posting describes them, using material originally written during their development, the PSARC arc case, and the Solaris Linker and Libraries Manual. ELF objects contain allocable sections, which are mapped into memory at runtime, and non-allocable sections, which are present in the file for use by debuggers and observability tools, but which are not mapped or used at runtime. Typically, all of these sections exist within a single object file. Ancillary objects allow them to instead go into a separate file. There are different reasons given for wanting such a feature. One can debate whether the added complexity is worth the benefit, and in most cases it is not. However, one important case stands out — customers with very large 32-bit objects who are not ready or able to make the transition to 64-bits. We have customers who build extremely large 32-bit objects. Historically, the debug sections in these objects have used the stabs format, which is limited, but relatively compact. In recent years, the industry has transitioned to the powerful but verbose DWARF standard. In some cases, the size of these debug sections is large enough to push the total object file size past the fundamental 4GB limit for 32-bit ELF object files. The best, and ultimately only, solution to overly large objects is to transition to 64-bits. However, consider environments where: Hundreds of users may be executing the code on large shared systems. (32-bits use less memory and bus bandwidth, and on sparc runs just as fast as 64-bit code otherwise). Complex finely tuned code, where the original authors may no longer be available. Critical production code, that was expensive to qualify and bring online, and which is otherwise serving its intended purpose without issue. Users in these risk adverse and/or high scale categories have good reasons to push 32-bits objects to the limit before moving on. Ancillary objects offer these users a longer runway. Design The design of ancillary objects is intended to be simple, both to help human understanding when examining elfdump output, and to lower the bar for debuggers such as dbx to support them. The primary and ancillary objects have the same set of section headers, with the same names, in the same order (i.e. each section has the same index in both files). A single added section of type SHT_SUNW_ANCILLARY is added to both objects, containing information that allows a debugger to identify and validate both files relative to each other. Given one of these files, the ancillary section allows you to identify the other. Allocable sections go in the primary object, and non-allocable ones go into the ancillary object. A small set of non-allocable objects, notably the symbol table, are copied into both objects. As noted above, most sections are only written to one of the two objects, but both objects have the same section header array. The section header in the file that does not contain the section data is tagged with the SHF_SUNW_ABSENT section header flag to indicate its placeholder status. Compiler writers and others who produce objects can set the SUNW_SHF_PRIMARY section header flag to mark non-allocable sections that should go to the primary object rather than the ancillary. If you don't request an ancillary object, the Solaris ELF format is unchanged. Users who don't use ancillary objects do not pay for the feature. This is important, because they exist to serve a small subset of our users, and must not complicate the common case. If you do request an ancillary object, the runtime behavior of the primary object will be the same as that of a normal object. There is no added runtime cost. The primary and ancillary object together represent a logical single object. This is facilitated by the use of a single set of section headers. One can easily imagine a tool that can merge a primary and ancillary object into a single file, or the reverse. (Note that although this is an interesting intellectual exercise, we don't actually supply such a tool because there's little practical benefit above and beyond using ld to create the files). Among the benefits of this approach are: There is no need for per-file symbol tables to reflect the contents of each file. The same symbol table that would be produced for a standard object can be used. The section contents are identical in either case — there is no need to alter data to accommodate multiple files. It is very easy for a debugger to adapt to these new files, and the processing involved can be encapsulated in input/output routines. Most of the existing debugger implementation applies without modification. The limit of a 4GB 32-bit output object is now raised to 4GB of code, and 4GB of debug data. There is also the future possibility (not currently supported) to support multiple ancillary objects, each of which could contain up to 4GB of additional debug data. It must be noted however that the 32-bit DWARF debug format is itself inherently 32-bit limited, as it uses 32-bit offsets between debug sections, so the ability to employ multiple ancillary object files may not turn out to be useful. Using Ancillary Objects (From the Solaris Linker and Libraries Guide) By default, objects contain both allocable and non-allocable sections. Allocable sections are the sections that contain executable code and the data needed by that code at runtime. Non-allocable sections contain supplemental information that is not required to execute an object at runtime. These sections support the operation of debuggers and other observability tools. The non-allocable sections in an object are not loaded into memory at runtime by the operating system, and so, they have no impact on memory use or other aspects of runtime performance no matter their size. For convenience, both allocable and non-allocable sections are normally maintained in the same file. However, there are situations in which it can be useful to separate these sections. To reduce the size of objects in order to improve the speed at which they can be copied across wide area networks. To support fine grained debugging of highly optimized code requires considerable debug data. In modern systems, the debugging data can easily be larger than the code it describes. The size of a 32-bit object is limited to 4 Gbytes. In very large 32-bit objects, the debug data can cause this limit to be exceeded and prevent the creation of the object. To limit the exposure of internal implementation details. Traditionally, objects have been stripped of non-allocable sections in order to address these issues. Stripping is effective, but destroys data that might be needed later. The Solaris link-editor can instead write non-allocable sections to an ancillary object. This feature is enabled with the -z ancillary command line option. $ ld ... -z ancillary[=outfile] ...By default, the ancillary file is given the same name as the primary output object, with a .anc file extension. However, a different name can be provided by providing an outfile value to the -z ancillary option. When -z ancillary is specified, the link-editor performs the following actions. All allocable sections are written to the primary object. In addition, all non-allocable sections containing one or more input sections that have the SHF_SUNW_PRIMARY section header flag set are written to the primary object. All remaining non-allocable sections are written to the ancillary object. The following non-allocable sections are written to both the primary object and ancillary object. .shstrtab The section name string table. .symtab The full non-dynamic symbol table. .symtab_shndx The symbol table extended index section associated with .symtab. .strtab The non-dynamic string table associated with .symtab. .SUNW_ancillary Contains the information required to identify the primary and ancillary objects, and to identify the object being examined. The primary object and all ancillary objects contain the same array of sections headers. Each section has the same section index in every file. Although the primary and ancillary objects all define the same section headers, the data for most sections will be written to a single file as described above. If the data for a section is not present in a given file, the SHF_SUNW_ABSENT section header flag is set, and the sh_size field is 0. This organization makes it possible to acquire a full list of section headers, a complete symbol table, and a complete list of the primary and ancillary objects from either of the primary or ancillary objects. The following example illustrates the underlying implementation of ancillary objects. An ancillary object is created by adding the -z ancillary command line option to an otherwise normal compilation. The file utility shows that the result is an executable named a.out, and an associated ancillary object named a.out.anc. $ cat hello.c #include <stdio.h> int main(int argc, char **argv) { (void) printf("hello, world\n"); return (0); } $ cc -g -zancillary hello.c $ file a.out a.out.anc a.out: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, not stripped, ancillary object a.out.anc a.out.anc: ELF 32-bit LSB ancillary 80386 Version 1, primary object a.out $ ./a.out hello worldThe resulting primary object is an ordinary executable that can be executed in the usual manner. It is no different at runtime than an executable built without the use of ancillary objects, and then stripped of non-allocable content using the strip or mcs commands. As previously described, the primary object and ancillary objects contain the same section headers. To see how this works, it is helpful to use the elfdump utility to display these section headers and compare them. The following table shows the section header information for a selection of headers from the previous link-edit example. Index Section Name Type Primary Flags Ancillary Flags Primary Size Ancillary Size 13 .text PROGBITS ALLOC EXECINSTR ALLOC EXECINSTR SUNW_ABSENT 0x131 0 20 .data PROGBITS WRITE ALLOC WRITE ALLOC SUNW_ABSENT 0x4c 0 21 .symtab SYMTAB 0 0 0x450 0x450 22 .strtab STRTAB STRINGS STRINGS 0x1ad 0x1ad 24 .debug_info PROGBITS SUNW_ABSENT 0 0 0x1a7 28 .shstrtab STRTAB STRINGS STRINGS 0x118 0x118 29 .SUNW_ancillary SUNW_ancillary 0 0 0x30 0x30 The data for most sections is only present in one of the two files, and absent from the other file. The SHF_SUNW_ABSENT section header flag is set when the data is absent. The data for allocable sections needed at runtime are found in the primary object. The data for non-allocable sections used for debugging but not needed at runtime are placed in the ancillary file. A small set of non-allocable sections are fully present in both files. These are the .SUNW_ancillary section used to relate the primary and ancillary objects together, the section name string table .shstrtab, as well as the symbol table.symtab, and its associated string table .strtab. It is possible to strip the symbol table from the primary object. A debugger that encounters an object without a symbol table can use the .SUNW_ancillary section to locate the ancillary object, and access the symbol contained within. The primary object, and all associated ancillary objects, contain a .SUNW_ancillary section that allows all the objects to be identified and related together. $ elfdump -T SUNW_ancillary a.out a.out.anc a.out: Ancillary Section: .SUNW_ancillary index tag value [0] ANC_SUNW_CHECKSUM 0x8724 [1] ANC_SUNW_MEMBER 0x1 a.out [2] ANC_SUNW_CHECKSUM 0x8724 [3] ANC_SUNW_MEMBER 0x1a3 a.out.anc [4] ANC_SUNW_CHECKSUM 0xfbe2 [5] ANC_SUNW_NULL 0 a.out.anc: Ancillary Section: .SUNW_ancillary index tag value [0] ANC_SUNW_CHECKSUM 0xfbe2 [1] ANC_SUNW_MEMBER 0x1 a.out [2] ANC_SUNW_CHECKSUM 0x8724 [3] ANC_SUNW_MEMBER 0x1a3 a.out.anc [4] ANC_SUNW_CHECKSUM 0xfbe2 [5] ANC_SUNW_NULL 0 The ancillary sections for both objects contain the same number of elements, and are identical except for the first element. Each object, starting with the primary object, is introduced with a MEMBER element that gives the file name, followed by a CHECKSUM that identifies the object. In this example, the primary object is a.out, and has a checksum of 0x8724. The ancillary object is a.out.anc, and has a checksum of 0xfbe2. The first element in a .SUNW_ancillary section, preceding the MEMBER element for the primary object, is always a CHECKSUM element, containing the checksum for the file being examined. The presence of a .SUNW_ancillary section in an object indicates that the object has associated ancillary objects. The names of the primary and all associated ancillary objects can be obtained from the ancillary section from any one of the files. It is possible to determine which file is being examined from the larger set of files by comparing the first checksum value to the checksum of each member that follows. Debugger Access and Use of Ancillary Objects Debuggers and other observability tools must merge the information found in the primary and ancillary object files in order to build a complete view of the object. This is equivalent to processing the information from a single file. This merging is simplified by the primary object and ancillary objects containing the same section headers, and a single symbol table. The following steps can be used by a debugger to assemble the information contained in these files. Starting with the primary object, or any of the ancillary objects, locate the .SUNW_ancillary section. The presence of this section identifies the object as part of an ancillary group, contains information that can be used to obtain a complete list of the files and determine which of those files is the one currently being examined. Create a section header array in memory, using the section header array from the object being examined as an initial template. Open and read each file identified by the .SUNW_ancillary section in turn. For each file, fill in the in-memory section header array with the information for each section that does not have the SHF_SUNW_ABSENT flag set. The result will be a complete in-memory copy of the section headers with pointers to the data for all sections. Once this information has been acquired, the debugger can proceed as it would in the single file case, to access and control the running program. Note - The ELF definition of ancillary objects provides for a single primary object, and an arbitrary number of ancillary objects. At this time, the Oracle Solaris link-editor only produces a single ancillary object containing all non-allocable sections. This may change in the future. Debuggers and other observability tools should be written to handle the general case of multiple ancillary objects. ELF Implementation Details (From the Solaris Linker and Libraries Guide) To implement ancillary objects, it was necessary to extend the ELF format to add a new object type (ET_SUNW_ANCILLARY), a new section type (SHT_SUNW_ANCILLARY), and 2 new section header flags (SHF_SUNW_ABSENT, SHF_SUNW_PRIMARY). In this section, I will detail these changes, in the form of diffs to the Solaris Linker and Libraries manual. Part IV ELF Application Binary Interface Chapter 13: Object File Format Object File Format Edit Note: This existing section at the beginning of the chapter describes the ELF header. There's a table of object file types, which now includes the new ET_SUNW_ANCILLARY type. e_type Identifies the object file type, as listed in the following table. NameValueMeaning ET_NONE0No file type ET_REL1Relocatable file ET_EXEC2Executable file ET_DYN3Shared object file ET_CORE4Core file ET_LOSUNW0xfefeStart operating system specific range ET_SUNW_ANCILLARY0xfefeAncillary object file ET_HISUNW0xfefdEnd operating system specific range ET_LOPROC0xff00Start processor-specific range ET_HIPROC0xffffEnd processor-specific range Sections Edit Note: This overview section defines the section header structure, and provides a high level description of known sections. It was updated to define the new SHF_SUNW_ABSENT and SHF_SUNW_PRIMARY flags and the new SHT_SUNW_ANCILLARY section. ... sh_type Categorizes the section's contents and semantics. Section types and their descriptions are listed in Table 13-5. sh_flags Sections support 1-bit flags that describe miscellaneous attributes. Flag definitions are listed in Table 13-8. ... Table 13-5 ELF Section Types, sh_type NameValue . . . SHT_LOSUNW0x6fffffee SHT_SUNW_ancillary0x6fffffee . . . ... SHT_LOSUNW - SHT_HISUNW Values in this inclusive range are reserved for Oracle Solaris OS semantics. SHT_SUNW_ANCILLARY Present when a given object is part of a group of ancillary objects. Contains information required to identify all the files that make up the group. See Ancillary Section. ... Table 13-8 ELF Section Attribute Flags NameValue . . . SHF_MASKOS0x0ff00000 SHF_SUNW_NODISCARD0x00100000 SHF_SUNW_ABSENT0x00200000 SHF_SUNW_PRIMARY0x00400000 SHF_MASKPROC0xf0000000 . . . ... SHF_SUNW_ABSENT Indicates that the data for this section is not present in this file. When ancillary objects are created, the primary object and any ancillary objects, will all have the same section header array, to facilitate merging them to form a complete view of the object, and to allow them to use the same symbol tables. Each file contains a subset of the section data. The data for allocable sections is written to the primary object while the data for non-allocable sections is written to an ancillary file. The SHF_SUNW_ABSENT flag is used to indicate that the data for the section is not present in the object being examined. When the SHF_SUNW_ABSENT flag is set, the sh_size field of the section header must be 0. An application encountering an SHF_SUNW_ABSENT section can choose to ignore the section, or to search for the section data within one of the related ancillary files. SHF_SUNW_PRIMARY The default behavior when ancillary objects are created is to write all allocable sections to the primary object and all non-allocable sections to the ancillary objects. The SHF_SUNW_PRIMARY flag overrides this behavior. Any output section containing one more input section with the SHF_SUNW_PRIMARY flag set is written to the primary object without regard for its allocable status. ... Two members in the section header, sh_link, and sh_info, hold special information, depending on section type. Table 13-9 ELF sh_link and sh_info Interpretation sh_typesh_linksh_info . . . SHT_SUNW_ANCILLARY The section header index of the associated string table. 0 . . . Special Sections Edit Note: This section describes the sections used in Solaris ELF objects, using the types defined in the previous description of section types. It was updated to define the new .SUNW_ancillary (SHT_SUNW_ANCILLARY) section. Various sections hold program and control information. Sections in the following table are used by the system and have the indicated types and attributes. Table 13-10 ELF Special Sections NameTypeAttribute . . . .SUNW_ancillarySHT_SUNW_ancillaryNone . . . ... .SUNW_ancillary Present when a given object is part of a group of ancillary objects. Contains information required to identify all the files that make up the group. See Ancillary Section for details. ... Ancillary Section Edit Note: This new section provides the format reference describing the layout of a .SUNW_ancillary section and the meaning of the various tags. Note that these sections use the same tag/value concept used for dynamic and capabilities sections, and will be familiar to anyone used to working with ELF. In addition to the primary output object, the Solaris link-editor can produce one or more ancillary objects. Ancillary objects contain non-allocable sections that would normally be written to the primary object. When ancillary objects are produced, the primary object and all of the associated ancillary objects contain a SHT_SUNW_ancillary section, containing information that identifies these related objects. Given any one object from such a group, the ancillary section provides the information needed to identify and interpret the others. This section contains an array of the following structures. See sys/elf.h. typedef struct { Elf32_Word a_tag; union { Elf32_Word a_val; Elf32_Addr a_ptr; } a_un; } Elf32_Ancillary; typedef struct { Elf64_Xword a_tag; union { Elf64_Xword a_val; Elf64_Addr a_ptr; } a_un; } Elf64_Ancillary; For each object with this type, a_tag controls the interpretation of a_un. a_val These objects represent integer values with various interpretations. a_ptr These objects represent file offsets or addresses. The following ancillary tags exist. Table 13-NEW1 ELF Ancillary Array Tags NameValuea_un ANC_SUNW_NULL0Ignored ANC_SUNW_CHECKSUM1a_val ANC_SUNW_MEMBER2a_ptr ANC_SUNW_NULL Marks the end of the ancillary section. ANC_SUNW_CHECKSUM Provides the checksum for a file in the c_val element. When ANC_SUNW_CHECKSUM precedes the first instance of ANC_SUNW_MEMBER, it provides the checksum for the object from which the ancillary section is being read. When it follows an ANC_SUNW_MEMBER tag, it provides the checksum for that member. ANC_SUNW_MEMBER Specifies an object name. The a_ptr element contains the string table offset of a null-terminated string, that provides the file name. An ancillary section must always contain an ANC_SUNW_CHECKSUM before the first instance of ANC_SUNW_MEMBER, identifying the current object. Following that, there should be an ANC_SUNW_MEMBER for each object that makes up the complete set of objects. Each ANC_SUNW_MEMBER should be followed by an ANC_SUNW_CHECKSUM for that object. A typical ancillary section will therefore be structured as: TagMeaning ANC_SUNW_CHECKSUMChecksum of this object ANC_SUNW_MEMBERName of object #1 ANC_SUNW_CHECKSUMChecksum for object #1 . . . ANC_SUNW_MEMBERName of object N ANC_SUNW_CHECKSUMChecksum for object N ANC_SUNW_NULL An object can therefore identify itself by comparing the initial ANC_SUNW_CHECKSUM to each of the ones that follow, until it finds a match. Related Other Work The GNU developers have also encountered the need/desire to support separate debug information files, and use the solution detailed at http://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html. At the current time, the separate debug file is constructed by building the standard object first, and then copying the debug data out of it in a separate post processing step, Hence, it is limited to a total of 4GB of code and debug data, just as a single object file would be. They are aware of this, and I have seen online comments indicating that they may add direct support for generating these separate files to their link-editor. It is worth noting that the GNU objcopy utility is available on Solaris, and that the Studio dbx debugger is able to use these GNU style separate debug files even on Solaris. Although this is interesting in terms giving Linux users a familiar environment on Solaris, the 4GB limit means it is not an answer to the problem of very large 32-bit objects. We have also encountered issues with objcopy not understanding Solaris-specific ELF sections, when using this approach. The GNU community also has a current effort to adapt their DWARF debug sections in order to move them to separate files before passing the relocatable objects to the linker. The details of Project Fission can be found at http://gcc.gnu.org/wiki/DebugFission. The goal of this project appears to be to reduce the amount of data seen by the link-editor. The primary effort revolves around moving DWARF data to separate .dwo files so that the link-editor never encounters them. The details of modifying the DWARF data to be usable in this form are involved — please see the above URL for details.

    Read the article

< Previous Page | 57 58 59 60 61 62 63 64 65 66 67 68  | Next Page >